스프링

[spring]스프링 DB 기술

삶은겨란 2022. 4. 11. 22:44

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설정 그대로 사용)