ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 01. Spring Boot 임베디드 DB H2 사용해보기
    자바/JPA 2022. 3. 16. 17:49

    1. 스프링 부트 메이븐 프로젝트 생성

    https://start.spring.io

    스프링 부트와 자바 버전에 유의하여 생성

    2. pom.xml에 maven 라이브러리 적용

    https://mvnrepository.com

    - h2

    - spring-boot-starter-data-jpa

    - lombok (option)

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.6.4</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>helloJpa</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
        <name>helloJpa</name>
        <description>helloJpa</description>
        <properties>
            <java.version>11</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.20</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>2.1.210</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

    3. application.yml에 h2 console url 설정

    - datasource.url을 설정하지 않으면 이전 프로젝트에서 사용하던 DB가 그대로 유지되어 있을 수 있습니다.

    - JPA를 사용할 때 스프링은 src/main/resource/WEB-INF/persistence.xml라는 정해진 경로에 파일을 생성하여 설정해야 합니다.

    - 스프링 부트는 pom.xml에 라이브러리 추가하고 application.yml에 JPA설정하면 됩니다. 해당 내용은 다음 게시글을 참고해주세요.

    spring:
      datasource:
        url: jdbc:h2:mem:hellojpa
        username: sa
        password:
      h2:
        console:
          enabled: true
          path: /h2-console

    4. 서버 기동 후 h2 웹 클라이언트 접근

    http://localhost:8080/h2-console/

    설정한 JDBC URL 입력, 비밀번호는 없습니다.

    datasource로 설정한 값으로 connect

     

    접속 성공

    해당 h2 서버는 스프링 부트 웹 어플리케이션이 기동 중일 경우에만 접근이 가능합니다.

    이미 MEMBERS라는 테이블이 생성되어 있는데 ORM hibernate jpa를 설정하면 자동으로 생성됩니다.

    해당 내용은 다음 게시글을 참고해주세요.

    '자바 > JPA' 카테고리의 다른 글

    Spring JPA 이론 정리  (0) 2022.03.16
    02. Spring Boot JPA 테이블 자동 생성  (0) 2022.03.16
Designed by Tistory.