개발환경
인텔리제이
springBoot3.2.4
java17
gradle
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.h2database:h2'
}
# 한글 인코딩
server.servlet.encoding.force=true
# H2 DB 웹콘솔 접근 허용 localhost:8080/h2-console
spring.h2.console.enabled=true
package com.example.ywproject.entitiy;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.ToString;
import java.sql.Date;
@Entity
@AllArgsConstructor
@ToString
public class TB_BBS {
@Id
@GeneratedValue
private Long id;
@Column
private String title;
@Column
private String writer;
@Column
private String content;
@Column
private Date crt_dt;
}
package com.example.ywproject.dao;
import com.example.ywproject.entitiy.TB_BBS;
import org.springframework.data.repository.CrudRepository;
public interface TB_BBS_DAO extends CrudRepository<TB_BBS, Long> {
}
스프링부트 실행시키고 localhost:8080/h2-console에 접속하면 아래같은 화면이 뜸
콘솔창에 jdbc:h2를 검색해서 url찾기
url 입력하고 connect
entity로 입력한 테이블 확인
# DB URL 설정
spring.datasource.generate-unique-name=false
spring.datasource.url=jdbc:h2:mem:testdb
ALTER SEQUENCE tb_bbs_seq INCREMENT BY 1;
INSERT INTO tb_bbs (ID, title, content, writer, crt_dt) VALUES (NEXT VALUE FOR tb_bbs_seq, 'test title', 'test content', 'test writer', CURRENT_TIMESTAMP);
INSERT INTO tb_bbs (ID, title, content, writer, crt_dt) VALUES (NEXT VALUE FOR tb_bbs_seq, 'test title2', 'test content2', 'test writer2', CURRENT_TIMESTAMP);
INSERT INTO tb_bbs (ID, title, content, writer, crt_dt) VALUES (NEXT VALUE FOR tb_bbs_seq, 'test title3', 'test content3', 'test writer3', CURRENT_TIMESTAMP);
# 더미데이터 입력
spring.jpa.defer-datasource-initialization=true
참고서적 : 스프링부트3 자바백엔드개발입문