본문 바로가기
Java/Spring Boot

[Spring Boot] JdbcTemplate - H2 연결하기(Connection)

by so-easy 2021. 7. 25.

 

지난 글에서 설치한 H2 Database를 Spring Boot 프로젝트에서 연결해서 매우 간단하게 잘 동작하는지만 확인해본다.

1. Spring Initializer로 프로젝트 만들기

Spring Initializer 웹사이트나, 각자 사용하는 IDE(IntelliJ, 이클립스, VS Code 등)에서 프로젝트를 새로 만든다.

GroupId, ArifactId는 자유롭게 지정한다. 나는 Java 버전 11 + Maven 조합으로 골랐다.

Dependency를 선택할 때 JDBC API, H2 Database를 반드시 선택해준다. 나머지는 자율

 

* 참고 : 이미 만들어진 프로젝트를 사용한다면, 따로 dependency에 추가

Maven) pom.xml 파일에 아래 내용 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

Gradle) build.gradle 파일에 아래 내용 추가

implementation group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version: '2.5.2'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'


2. 설정

지난 글의 H2 웹 콘솔에서 아래와 같이 동일하게 입력했다는 가정하에...

src/main/resources 아래에 있는 application.properties 파일에 아래 내용을 추가한다.

# H2
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa

# schema.sql, data.sql 사용을 위해 추가
spring.sql.init.mode=always

 

3. 테이블 만들기

resources 디렉토리 아래에 shema.sql , data.sql 파일 2개를 생성한다. 

우리는 spring.sql.init.mode=always 라는 설정을 미리 해줬으므로, 아래와 같이 하면 프로젝트를 Run 시킬 때마다 자동으로 Table들을 생성하고, 초기 데이터를 넣어준다. 👍🏻

1) Create

shema.sql 파일 내용

drop table if exists member;

create table member (
    id bigint generated by default as identity,
    name varchar(255),
    primary key (id)
);

2) Insert

data.sql 파일 내용

insert into member(name) values ('irin');
insert into member(name) values ('joy');
insert into member(name) values ('wendy');

 

4. 실행 후 확인

Spring Boot Application의 Main함수를 실행시키면 잘 돌아간다.

웹 H2 콘솔에서 간단한 쿼리를 날려서 확인해본다. 데이터가 잘 조회되면 커넥션 성공이다.

 

소스코드 참고

https://github.com/easyfordev/springboot-jdbctemplate-h2-crud-example

 

GitHub - easyfordev/springboot-jdbctemplate-h2-crud-example: Spring Boot에서 JdbcTemplate을 활용하여 DB에 접근하는

Spring Boot에서 JdbcTemplate을 활용하여 DB에 접근하는 심플한 CRUD 예제 - GitHub - easyfordev/springboot-jdbctemplate-h2-crud-example: Spring Boot에서 JdbcTemplate을 활용하여 DB에 접근하는 심플한 CRUD 예제

github.com

 

댓글