백기선(인프런 강의)/스프링 부트 개념과 활용
스프링 데이터 2부: 인메모리 데이터 베이스
레알윙
2020. 7. 3. 09:02
반응형
지원하는 인-메모리 데이터 베이스
- H2 (추천, 콘솔 때문에...)
- HSQL
- Derby
Spring-JDBC가 클래스패스에 있으면 자동 설정이 필요한 빈을 설정 해줍니다.
- DataSource
- JdbcTemplate
인-메모리 데이터베이스 기본 연결 정보 확인하는 방법
- URL: “testdb”
- username: “sa”
- password: “”
H2 콘솔 사용하는 방법
- spring-boot-devtools를 추가하거나...
- application.properties에 spring.h2.console.enabled=true 만 추가.
- /h2-console로 접속 (이 path도 바꿀 수 있음)
예제
프로젝트 생성
application.proeprties
spring.h2.console.enabled=true
설정 잡혔는제 확인 (부트 실행시키면 됨)
import java.sql.Connection;
import java.sql.Statement;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
@Component
public class H2Runner implements ApplicationRunner {
@Autowired
DataSource dataSource;
@Autowired
JdbcTemplate jdbcTemplate;
@Override
public void run(ApplicationArguments args) throws Exception {
try(Connection connection = dataSource.getConnection()){
connection.setAutoCommit(false);
System.out.println("URL : " + connection.getMetaData().getURL());
System.out.println("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);
jdbcTemplate.execute("INSERT INTO USER VALUES (1, ‘JinSeok’)");
connection.close();
}
}
}
http://localhost:8080/h2-console
위에 URL에 접속
부트를 실행하면 console로 찍힌 DB URL 입력후 연결 한다.
연결을 하면 아래와같은 화면이 나오게 되는데 내가 만든 user table 이 보인다.
반응형