728x90
반응형
SMALL

H2 데이터베이스

데이터 베이스 설치하기

1. build.gradle 라이브러리 설치.

//h2 database
runtimeOnly 'com.h2database:h2'

build.gradle 파일 마우스 오른쪽 클릭 -> gradle -> Refresh Gradle Project 클릭.

 

2. application.properties 설정

#DATABASE
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:~/local
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

데이터베이스 설정 코드 추가.

- spring.h2.console.enabled : H2 콘솔 접속 여부
- spring.h2.console.path : H2 콘솔로 접속하기 위한 URL경로.
- spring.datasource.url : 데이터베이스에 접속하기 위한 경로.
- spring.datasource.driverClassName : 데이터베이스에 접속할 때 사용하는 드라이버 클래스명
- spring.datasource.username : 데이터베이스 사용자명
- spring.datasource.password : 데이터베이스 비밀번호

 

3. 데이터베이스 파일 생성

jdbc:h2:~/local 이렇게 설정했을 때 '~'는 사용자의 홈 디렉토리.
아래에 H2데이터베이스파일로 local.mv.db라는 파일을 생성한다.
copy con local.mv.db + (Ctrl+Z)

만들어진 것 확인.

 

4. H2 데이터베이스 접속

http://localhost:8080/h2-console

설정한대로 입력한 후 Connect클릭.

 

연결완료.

 

JPA

JPA 환경 설정하기

1. build.gradle에 라이브러리 추가

//JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

build.gradle 파일 마우스 오른쪽 클릭 -> gradle -> Refresh Gradle Project 클릭.

 

2. applicaation.properties 수정

#JPA
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update

 

게시판 웹의 엔티티 작성

질문 엔티티

package com.mysite.sbb;

import java.time.LocalDateTime;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity
public class Question {
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	
	@Column(length = 200)
	private String subject;
	
	@Column(columnDefinition = "TEXT")
	private String content;
	
	private LocalDateTime createDate;
    
    //관계주입
    @OneToMany(mappedBy = "question", cascade = CascadeType.REMOVE)
	private List<Answer> answereList;
}

 

답변 엔티티

package com.mysite.sbb;

import java.time.LocalDateTime;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity
public class Answer {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	
	@Column(columnDefinition = "TEXT")
	private String content;
	
	private LocalDateTime createDate;
	
	//관계주입
	@ManyToOne
	private Question question;
}

 

 

728x90
반응형
LIST

+ Recent posts