차곡차곡 성 쌓기
article thumbnail

강의만 따라 칠 때는 몰랐는데 막상 아무것도 없이 해보니 DB 연결부터 막혔다. 그래도 무사히 성공해서 더 이상 헤매지 않도록 글을 작성해본다.

 

1. build.gradle 의존성 추가

데이터베이스로 JPA를 사용하기 위해 `build.gradle`에 의존성을 추가해준다.  https://start.spring.io/ 페이지에서 스프링 부트 프로젝트를 만들 때 `spring data jpa`를 추가해주면 된다. 만약 그렇지 않을 시 아래처럼 의존성을 직접 추가해주면 된다.

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.4'
    id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.uj'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '17'
}

configurations {
    compileOnly {
       extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    runtimeOnly 'com.h2database:h2'
}

 

 

2. apllication.yml - DB 설정정보 

`apllication.yml`에 다음과 같은 정보를 작성한다. 주의할 점은 url이다. 나는 인터넷에서 돌아다니는 정보를 복사해서 사용했는데 알고보니 저것이 사용자마다 다르다. h2를 연결해서 데이터베이스 파일을 생성한 후 해당 파일의 이름을 작성해야한다.

spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:mem:testdb
    username: sa
    password:
  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        show_sql: true
        format_sql: true
      #database-platform: org.hibernate.dialect.MySQL57Dialect
  sql:
    init:
      mode: always

 

그러기 위해 h2를 설치하고 실행시켜야한다.

 

 

3. h2 설치 및 실행

H2 DB 설치

http://h2database.com/html/main.html 에서 다운로드 할 수 있다.

 

H2 Database Engine

H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size     Supp

h2database.com

설치 한 후 적절한 곳에 압축을 풀어준다. 기억하기 쉬운 곳에 옮기도록 한다.

 

실행

터미널로 h2 폴더에 들어가 bin/h2.sh 프로그램을 실행시킨다. 

cd h2/bin
h2.sh

 

실행하면 자동으로 아래 창이 열린다. 실행이 안되면 http://localhost:8080/h2에 접속한다.

데이터베이스 파일 생성 방법

  • `jdbc:h2:~/test` (최초 한번)
  • `~/test.mv.db` 파일 생성 확인
    이후부터는 `jdbc:h2:tcp://localhost/~/test` 이렇게 접속

JDBC URL을 `apllication.yml` 파일의 url에 작성해줘야 한다. 

이렇게 데이터베이스가 자동 생성하면 사용자 계정 디렉토리에 test.mv.db 파일이 생성된다.

접속이 완료되었다면 테이블 생성 및 테이블 조작(DML)이 가능하다.

 

H2DB TCP 모드로 서버 접속

다시 로그인 화면으로 돌아가서 TCP로 접속한다.

저장한 설정 : Generic H2 (Server)

JDBC URL : jdbc:h2:tcp://localhost/~/test

 

 마찬가지로 `apllication.yml` 파일의 url에도 아래와 같이 변경해준다.

url: jdbc:h2:tcp://localhost/~/test

 

데이터베이스 파일을 생성한 후 TCP 소켓을 통해 접속해야 어플리케이션과 콘솔을 동시에 접근했을 때 오류가 발생하지 않기 때문이다.

 

 

 


출처

 

[H2DB] H2 Database 설치 및 사용법

H2DB 란 H2 데이터베이스는 설치가 필요 없고 용량이 가벼우며 개발용 로컬 DB로 사용하기 좋은 DBMS이다. H2DB는 자바 기반의 오픈소스 관계형 데이터베이스 관리 시스템(DBMS). 서버(Server) 모드와 임

phantom.tistory.com

 

profile

차곡차곡 성 쌓기

@nagrang

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!