1) 의존성 추가
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('com.h2database:h2')
2) Posts 클래스 생성
@Getter
@NoArgsConstructor
@Entity// 테이블과 링크될 클래스임을 나타낸다.
public class Posts extends BaseTimeEntity {
@Id // 기본키
@GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment 같은거
private Long id;
@Column(length = 500, nullable = false)
private String title;
@Column(columnDefinition = "TEXT", nullable = false)
private String content;
private String author;
@Builder
public Posts(String title, String content, String author) {
this.title = title;
this.content = content;
this.author = author;
}
public void update(String title, String content) {
this.title = title;
this.content = content;
}
}
@Entity
@Id
@GeneratedValue
@Column
@NoArgsConstructor
@Builder
3) @Repository 생성
1) PostsRepositoryTest 클래스 작성
@RunWith(SpringRunner.class)
@SpringBootTest
public class PostsRepositoryTest {
@Autowired
PostsRepository postsRepository;
@After
public void cleanup() {
postsRepository.deleteAll();
}
@Test
public void 게시글저장_불러오기() {
//given
String title = "테스트 게시글";
String content = "테스트 본문";
postsRepository.save(Posts.builder()
.title(title)
.content(content)
.author("jojoldu@gmail.com")
.build());
//when
List<Posts> postsList = postsRepository.findAll();
//then
Posts posts = postsList.get(0);
assertThat(posts.getTitle()).isEqualTo(title);
assertThat(posts.getContent()).isEqualTo(content);
}
}
@After
postsRepository.save
postsRepository.findAll
@SpringBootTest
2) 작성된 테스트코드 실행 후 성공 확인
3) 실행된 쿼리 로그 확인
application.properties 파일 생성
옵션 추가
재 실행시 쿼리 실행 로그 확인 가능