[Spring] JPA 환경 설정

진주·2022년 3월 21일
0

Spring

목록 보기
17/29

1) 프로젝트 생성

VScode 실행, F1 클릭 - create java project - Maven 클릭

maven-archetype-quickstart 클릭- version 1.4

패키지명 : dev.hibernate

프로젝트 명 : jpa

Select Destination Folder 클릭

enter

Open 클릭 시 새로운 Vs code 창 실행된다!

App.java에서 F5 클릭, 터미널에 Hello World 출력되면 끝


2) pom.xml 설정

pom.xml의 <properties> : 1.7 version에서 1.8 version으로 변경


pom.xml<dependencies> 내에 추가

<!-- H2 DB --> 
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.200</version>
</dependency>

<!-- JPA 구현체 Hibernate -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.4.10.Final</version>
</dependency>

제대로 설치 안됐다면

터미널에 mvn -U clean install 입력

pom.xml 우클릭 - Update project 클릭


👍 표시 뜨면 끝!


3) H2 Database 설치

https://www.h2database.com/html/main.html

All downloads 클릭

맨 위 Version 2.1.210에서 Platform-independent Zip 클릭

원하는 파일에 압축 풀기 : h2 폴더 생성

h2 폴더에 파일들 생성됐다!

bin 폴더 - h2w 실행

방화벽 모두 ok하면 web에 H2 콘솔이 뜬다

연결 클릭

이 페이지가 뜨면 완료!

C:\Users\wlswn 경로에 test.mv라는 DB가 생성된다


4) persistence.xml 생성

main - 폴더 명 : resources 생성

resources - 폴더 명 : META-INF 생성

META-INF - 파일 명 : persistence.xml 생성

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
    
</persistence>

persistence.xml 에 코드 붙여 넣기

뒤로가기로 접속 취소

JDBC URL : jdbc:h2:tcp://localhost/~/test 로 변경, 연결 클릭

Connect 클릭


5) persistence.xml 완성 코드

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">

    <persistence-unit name="jpa"> <!-- 프로젝트 이름 -->
      <properties>
        <!-- property name -->
        <!-- javax.persistence 로 시작하는 속성들 : JPA 표준 속성 -->
        <!-- hibernate ~ : JPA의 구현체 중 하나인 hibernate의 전용 속성-->

        <!-- DB와 연결하기 위한 필수 속성 -->
        <property name ="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
        <property name ="javax.persistence.jdbc.user" value="sa"/>
        <property name ="javax.persistence.jdbc.password" value=""/>
        <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/>

        <!-- DB Dialect(방언) 설정 -->
        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />


        <!-- 옵션(선택) 속성 -->
        <!-- hibernate의 실행 과정에서 console에 테이블 생성, DDL, DML 등 SQL문을 출력하도록 하는 설정 -->
        <property name ="hibernate.show_sql" value ="true"/>

        <!-- SQL 출력 상태 정렬 -->
        <property name ="hibernate.format_sql" value ="true"/>

        <!-- 주석문도 포함해서 출력하기 -->
        <property name ="hibernate.use_sql_comments" value ="true"/>

        <!-- ***(중요!!)*** 애플리케이션 실행 시 DB테이블을 자동으로 실행할 것인지?? -->
        <!-- create : 기존에 테이블이 존재하면 삭제(drop) 후 새로 생성(create), DROP + CREATE  -->
        <!-- update : DB테이블과 Entity(객체)의 매핑(Mapping) 정보들 비교, 변경된 사항만 수정, 반영 -->
        <property name ="hibernate.hbm2ddl.auto" value ="create"/>

      </properties>
    </persistence-unit>
    
</persistence>
profile
진주의 코딩일기

0개의 댓글