출처 : 강의를 보고 이해한 내용을 게시물로 작성했습니다
스프링 입문 강의
여러가지 DB 접근 기술
강의에서는 h2데이터베이스를 사용했지만 작성자는 mariaDB를 사용했습니다
JDBC
- jdbc 회원 리포지토리 생성
- 직접 db connection을 연결해주고 sql을 작성해서 활용해 주어야한다(작성자는 jsp 프로젝트를 하면서 이방식으로 프로젝트를 했었다)
- 작성후 SpringConfig파일에 bean등록

- 코드량이 길고 번거롭다
JDBC Template
- 순수 Jdbc와 동일한 환경설정
- 스프링 JdbcTemplate 과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야한다
- 순수 Jdbc에 비해서 코드량이 많이 감소했다
- JDBC Template Repository 파일에 작성해주고 이를 똑같이 bean에 등록해서 아까 만들어준 순수 JDBC 리포지토리와 바꿔껴준다
JPA
- JPA는 기존의 반복 코드,기본적인 SQL도 JPA가 직접 만들어서 실행해줌
- JPA를 사용하면 , SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수있다
- JPA 를 사용하면 개발 생산성을 높일 수 있다
Spring Data Jpa
- 부트와 JPA만 사용해도 개발 생산성이 많이 증가하고 , 개발해야할 코드도 많이 줄어든다
- 스프링 데이터 JPA를 사용하면 리포지토리에 구현 클래스 없이 인터페이스만으로 개발을 완료할수있다
- 그리고 기본CRUD 기능도 전부 스프링 데이터 JPA가 모두 제공한다
- 반복되었던 개발 코드들이 확연히 줄어든다
- 공통되는 부분은 거의 제공되어잇지만 findByName같은건 직접 사용자가 만들어줘야한다