Section 1. H2 DataBase
1. H2 DataBase
2. H2 DataBase 생성
- h2.sh 실행 파일 권한 부여 및 실행
- 웹 화면 (localhost 로 접근해야함)
- DB 파일 생성
- DB 파일이 생성된 후에는 jdbc:h2:tcp://localhost/~/test 소켓 형식으로 접속
3. H2 Table 생성
- bigint = Long 타입
- generated by default as identity -> null 값이 들어오면 자동으로 식별자를 생성해줌
create table member
(
id bigint generated by default as identity,
name varchar(255),
primary key (id)
);
4. H2 Table 삽입 및 조회
insert into member(name) values('spring')
select * from member
Section 2. JDBC
1. JDBC 환경 설정
- build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가
- resources/application.properties 설정 파일에 datasource 정보 기입
2. JDBC Repository 생성
3. insert 기능
- values(?) 에서 ? 자리에 parameterIndex 1번째에 member.getName() 매핑
- pstmt.executeUpdate(); 실제 쿼리 수행 부분
4. select 기능
- rs = pstmt.executeQuery(); 실제 쿼리 수행 부분
- if(rs.next()) - 조회된 결과가 존재하면
- member 객체를 생성하고 setId, setName 수행 후 반환
5. Config 설정 파일 DB 구현체 변경
- Service 소스코드를 전혀 건들지 않고 단순히 설정파일에서 구현체만 변경
- DataSource 객체는 스프링이 자동으로 bean 생성
6. Spring Boot JDBC 연동 결과
- h2.db 에 저장했던 테이블과 튜플 확인 가능
Section 3. JDBC Template
1. JDBC Template
JDBC의 모든 기능을 최대한 활용할 수 있도록 유연성을 제공 (JDBC를 감싸서 기능을 제공)
- 순수 Jdbc와 동일한 환경설정
- JDBC API에서 본 반복 코드를 대부분 제거 하지만 SQL은 직접 작성
2. JDBC Repository 생성
① 리팩토링 전
② 리팩토링 후 (람다식 alt + enter)
3. insert 기능
- SimpleJdbcInsert 객체 이용
4. select 기능
- RowMapper 이용
5. Config 설정 파일 DB 구현체 변경