[spring]스프링 DB 기술
H2 Database
자바 기반 오픈소스 관계형 데이터베이스 관리시스템(RDBMS)
용량이 작고 가볍다. 웹으로 화면 제공.
내가 설치한 경로 : C:\Program Files (x86)\H2
C:\Program Files (x86)\H2\bin에서 h2.bat으로 실행
[사용자]-[사용자이름] 폴더에 test.mv.db 파일이 생성됨
JDBD URL을 jdbc:h2:tcp://localhost/~/test 로 연결해서 사용(소켓으로 연결)
순수 Jdbc
JDBC : 자바에서 DB에 접속할 수 있도록 하는 자바 API
환경설정
build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'
스프링 부트 데이터베이스 연결 설정 추가
resources/application.properties
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
JdbcMemberRepository 구현
스프링 설정 변경(SpringConfig)
Jdbc 템플릿
Jdbc 템플릿과 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해줌. SQL은 작성해야함.
환경설정은 위와 동일.
JPA
반복코드는 물론 기본적인 SQL도 만들어서 실행해줌.
객체 중심 설계로 패러다임을 전환할 수 있음.
개발 생산성 증가.
라이브러리 추가
build.gradle 파일.
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
스프링부트에 JPA 설정 추가
resources/application.properties
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
EntityManager 주입받기
서비스 계층에 트랜잭션 추가
스프링 JPA
CRUP 기능도 제공. 단순 반복 개발 코드가 줄어든다. 따라서 핵심 비즈니스 로직을 개발하는데 집중할 수 있음.
스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술이므로 JPA를 학습하고 스프링 데이터 JPA를 학습해야한다.
(JPA설정 그대로 사용)