Spring Boot

인메모리 데이터베이스

상국이 2022. 3. 5. 21:43
728x90

0. 의존성 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

 

1. 인메모리 데이터베이스 기본 연결 정보 확인

@Component
public class H2Runner implements ApplicationRunner {

    @Autowired
    DataSource dataSource;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        try(Connection connection = dataSource.getConnection()){

            System.out.println("URL : " + connection.getMetaData().getURL() + ", UserName : " + connection.getMetaData().getUserName());

            Statement statement = connection.createStatement();
            String sql = "CREATE TABLE USER(ID INTEGER NOT NULL, NAME VARCHAR(255), PRIMARY KEY(ID));";
            statement.executeUpdate(sql);
        }
    }
}

예시

2-1. localhost:8080/h2-console 접속

 

3. sql 작성 및 확인

jdbcTemplate.execute("INSERT INTO USER VALUES('1234', 'sangguk');");

 > JdbcTemplate : try~catch 사용하지 않고 조금 더 간결하게 sql사용 가능, resource 반납 처리 자동, 가독성이 좋은 에러로그를 사용 가능

 

728x90