분류 전체보기 400

[Spring DB] Annotation

@Entity 클래스 위에 선언, 해당 클래스가 엔티티라는 것을 알려준다. 해당 클래스에서 정의된 필드들로 데이터베이스에 테이블을 만들어 준다. @Entity(name = “테이블이름”) 처럼 name 입력 시 이름 지정 가능 @Builder 해당 클래스에 해당하는 엔티티를 만들 때 빌더 패턴을 이용해서 만들 수 있도록 지정해주는 어노테이션 @AllArgsConstructor 선언된 모든 필드를 파라미터로 갖는 생성자 자동 생성 @NoArgsConstructor 파라미터 없는 생성자 자동 생성 @Getter 각 필드값을 조회할 수 있는 getter 메소드 자동 생성 ex) getName() @Setter setter() 메소드를 만들어 주지만, Entity 클래스에서는 setter 메소드를 만들지 않도록..

[Spring Boot] Thymeleaf

Thymeleaf 이란? 템플릿 엔진의 일종이며 html 태그에 속성을 추가하여 페이지에 동적으로 값을 추가하거나 처리 템플릿 엔진 템플릿 양식과 데이터가 합쳐져 html 문서를 출력하는 소프트웨어 서버에서 DB나 API 등을 통해 가져온 데이터를 템플릿에 넣어서 클라이언트에 전달 고정인 부분은 템플릿, 동적으로 생성되는 부분을 타임리프로 템플릿 특정 위치에 끼워넣는 것 html 페이지 개발자 도구로 열어도 th: 속성은 표시되지 않는다. -> input 태그: th:value의 값이 존재하면 해당 값 세팅, 존재하지 않으면 value=의 값 세팅 Thymeleaf 사용 ThymeleafViewResolver 등록해야 사용 가능 Gradle build.gradle implementation 'org.sp..

[Spring DB] JpaRepository

JPA(Java Persistence API) 자바 어플리케이션에서 관계형 DB를 사용하는 방식을 정의한 인터페이스 JPA는 인터페이스이기 때문에 Hibernate 등이 JPA를 구현한다. Spring에서는 Spring Data JPA 모듈을 이용한다. CRUD SQL을 처리해주지만 수정 메소드를 제공하지 않는다. Spring Data JPA Spring Data JPA 사용하기 의존성 추가하기 spring-boot-starter-data-jpa: 스프링 부트 pring Data JPA 추상화 라이브러리 h2: 인메모리 관계형 데이터베이스, 재시작할 때마다 데이터 유지되지 않고 초기화 build.gradle dependencies { **implementation 'org.springframework.b..

[Spring DB] BaseEntity

BaseEntity 모든 엔티티에서 공통으로 있는 객체가 있으면 BaseEntity를 정의해서 활용할 수 있다. @Getter @MappedSuperclass @NoArgsConstructor(access = AccessLevel.PROTECTED) public class BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) // Primary key 생성해주는 어노테이션, @Id 선언 후 사용 private Long id; public BaseEntity(Long id) { super(); this.id = id; } public boolean isNew() { return this.id == null; } public void se..

728x90