ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 데이터 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 이 보인다.

    반응형
Designed by Tistory.