저번 시리즈에서는 Spring에서 H2 InMemory 사용법에 대해 이야기를 하였고
H2 Console에 접속에서 사용할 수 있지만 본인이 익순한 DataBase Tool을 사용하기를 원 합니다 그래서
이번 시간에서는 DataBase Tool를 이용하여 Connection 하는 법에 대해서 이야기 해보겠습니다
할 수도 있겠지만 그렇지 않습니다 Spring에 설정과 추가적으로 작성해줘야 할 코드가 존재하며
H2DB 버전에 따라 설정해줘야 할것들이 있습니다
많이 쓰는 intellij의 DataBase Tool와 Dbeaver에 Connection 연결해보고 SELECT를 실행시켜보겠습니다
Project Assist로 Project 생성하였다면 runtime 속성으로 되어 있을것이다
해당 속성을 변경을 해주어야만 org.h2.tools.Server Package를 사용 할 수가 있다
Maven 같은 경우에는 scope 지웠고 Gradle의 경우 에는 implementation로 변경해주었다
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
<scope>runtime</scope>
</dependency>
runtimeOnly 'com.h2database:h2:2.1.214'
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</dependency>
implementation 'com.h2database:h2:2.1.214'
아래의 Code는 H2DB를 TcpServer 실행 시키는 코드이며 Port는 "9092" 를 사용했습니다
@Configuration
public class H2ServerConfig {
@Bean
public Server H2DatabaseServer() throws SQLException {
//jdbc:h2:tcp://localhost:9092/mem:testdb;OLD_INFORMATION_SCHEMA=TRUE
Server tcpServer = Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092");
if(tcpServer.isRunning(true)){
tcpServer.start();
}
return tcpServer;
}
}
저번 시간에서 application.yml에 datasource URL jdbc:h2:mem:testdb 로 설정해줬습니다
H2 Server Connection URL은 jdbc:h2:tcp://localhost:9092/mem:testdb이고 계정정보는 sa 입니다
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
intellij DataBase Tool에서 종요한점은 드라이버가 구버전입니다
따로 드라이버를 다운받고 지정 할 수 도 있겠지만 행위가 귀찮기 때문에 옵션을 이용해서 해결할려구합니다
OLD_INFORMATION_SCHEMA=TRUE 속송을 추가해줘야합니다 (관련정보링크)
최종 URL은 jdbc:h2:tcp://localhost:9092/mem:testdb;OLD_INFORMATION_SCHEMA=TRUE 입니다
연결 타입을 URL only로 변경하고 URL 정보와 계정 정보를 입력하고 Test Connection를 클릭합니다
작동확인
테이블 정보도 잘보이고 시퀀시 정보 잘 보이는군요
자동완성 또한 잘됩니다
Dbeaver는 기본적으로 드라이버를 받아야합니다 현재 H2DB에 맞게 드라이버를 받겠습니다
All 클릭후 H2 검색하여 H2 Server 선택 후 다음을 눌러줍니다
General에 Connect by URL 변경 후 URL정보와 계정정보를 입력 후 Test Connection를 클릭
현재 사용중인 H2 버전을 확인하고 Vesrion을 눌러 사용하고 있는 버전을 선택 후 Download를 클릭합니다
ps) Spring에서 현재 사용중인 버전 확인법
IDE 프로젝트 탭에 External Libraries에서 확인이 가능합니다
다운로드 된 버전을 확인하고 확인 누름다음 이전 창에서 확인 을 눌러줍니다
작동확인
최초 접속시 살짝 느리기 때문에 당황하지 마시고 기다리고 테이블을 눌러 데이블 목록이 잘 불러왔는지 확인합니다
자동완성 잘되고 테이블정보 잘 보여줍니다
Spring project에서 H2DB 사용법과 DataBase Tool에 Connection 까지 하는 법을 알아봤습니다
글재주가 없어 열심히 했지만 이해 안되는 부분과 추상적이게 설명한 부분도 있을것 같습니다
연습하여 더 잘 글을 쓸 수 있도록 하겠습니다