순수 JDBC와 스프링 JdbcTemplate

myeonji·2022년 2월 5일
0

Spring

목록 보기
6/22

> 스프링 통합 테스트

@SpringBootTest : 스프링 컨테이너와 테스트를 함께 실행 즉, 실제 스프링을 띄워서 실행한다.

@Transactional : 테스트 케이스에 이 어노테이션이 있으면 테스트 시작 전에 트랜잭션을 먼저 시작한다. DB에 데이터 넣은 후 테스트가 끝나면 롤백을 해서 DB 안의 데이터가 남지 않는다.(아예 처음부터 데이터베이스에 들어가지 않는다고 생각해도 된다.) -> 다음 테스트도 실행할 수 있게 된다. 즉, 다음 테스트에 영향을 주지 않는다.

❗ 주의할 점 : @Transactional은 테스트 케이스에서만 롤백을 한다!

> JDBC란?

Java Database Connectivity

  • 데이터베이스 종류에 상관 없이 자바에서 DB 프로그래밍을 하기 위해 사용되는 API이다.
  • 다시 말해서, 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.

> JdbcTemplate

JDBC와 마찬가지로 데이터를 저장하기 위해 도와주는 API

  • JDBC API에서의 반복 코드를 대부분 제거해준다.
  • JdbcTemplate은 JDBC와 달리 SQL Mapper이다.
  • SQL Mapper란 SQL을 직접 작성하고 Object의 필드를 매핑하여 데이터를 객체화 하는 것이다.
  1. JDBC 드라이버 로드
  2. DB 연결
  3. DB에 데이터를 읽거나 쓰기 (SQL문)
  4. DB 연결 종료

이 다음에는 JPA에 대해서 공부할 것이다.
JPA는 JDBC에서 썼던 반복 코드는 물론이고 JdbcTemplate에서 쓴 SQL도 전부 알아서 해준다!

0개의 댓글