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
'IT > Spring Boot' 카테고리의 다른 글
[Spring Boot] 7. JUnit 테스트 (Answer 예제) (0) | 2024.04.05 |
---|---|
[Spring Boot] 6. 리포지터리 생성, JUnit 테스트 (Question 예제) (0) | 2024.04.05 |
[Spring Boot] 4. 프로젝트 구조, 컨트롤러 간단히 작성하고 URL 매핑 (0) | 2024.04.04 |
[Spring Boot] 3. 스프링 부트 도구 설치하기 (Spring Boot Devtools, Lombok 설치) (1) | 2024.04.03 |
[Spring Boot] 2. 스프링 부트 실행 (프로젝트 생성, Controller 작성, 로컬 서버 실행) (1) | 2024.04.03 |