본문 바로가기
SpringBoot

(3-2) - 스프링부트로 웹 서비스 출시하기 : SpringBoot & Handlebars로 화면 만들기

by ZEC 2021. 3. 7.

안녕하세요:) 최근에 회사 업무가 많이 바빠 글 작성이 많이 지체되었어요 ㅠㅠ 양해 부탁드립니다

오늘은 저번 시간에 이어서 SpringBoot & Handlebars로 화면 만들기 두 번째 시간입니다.

아래에 저번에 작업한 내용을 링크로 남겨드릴게요!

 

 

(3-1) - 스프링부트로 웹 서비스 출시하기 : SpringBoot & Handlebars로 화면 만들기

안녕하세요:) 저번 시간에 이어서 SpringBoot & Handlebars로 화면 만들기 를 진행해보겠습니다. 이전 글을 보지 않으셨다면 따라오기 힘듭니다. 아래 이전 글 링크를 남겨드립니다. (2-3) - 스프링부트

devzec.tistory.com

게시글 목록


게시글 목록을 만들어 보도록 하겠습니다!

앞서 진행 전에 저희는 현재 H2 db를 사용하는데 이게 메모리 db이다 보니

프로젝트 실행을 종료하면 저장했던 데이터가 다 날아갑니다 그래서 목록을 만들 때 귀찮기 때문에

db 데이터에 데이터를 밀어 넣는 설정 작업을 먼저 해보도록 하겠습니다.

 

우선 resources 아래에 data-h2.sql 파일을 생성합니다.

아래와 같이 만들어주세요!!

 

insert into posts (title, author, content, created_date, modified_date) values ('테스트1', 'devzec', '테스트1의 본문', now(), now());
insert into posts (title, author, content, created_date, modified_date) values ('테스트2', 'devzec', '테스트2의 본문', now(), now());

 

data-h2.sql 에 작성해줍니다.

그리고 위 insert sql 파일이 프로젝트 실행 시 자동으로 수행되도록 설정을 추가해보죠!

application.yml 코드를 아래와 같이 변경합니다. 참고로 스프링 부트 2.0 이하분들은 조금 달라요~

저는 현재 SpringBoot 2.4.2를 기준으로 하고 있습니다.

 

spring:
  profiles:
    active: local # 기본 환경 선택

# local 환경
---
spring:
  profiles:
    active: local
  datasource:
    url: jdbc:h2:mem:testdb # 스프링부트 버전 2.0 이상이신분은 필수로 url 지정 하셔야합니다
    data: classpath:data-h2.sql # 시작할때 실행시킬 script
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: create-drop
      use-new-id-generator-mappings: false # 스프링부트 2.0 이상부터는 Hibernate의 id의 defualt값 ture로 되어있기에 이부분을
                                           # false로 바꿔주셔야 합니다. 안그러면 에러가 띄용~
  h2:
    console:
      enabled: true

변경된 게 좀 많죠? 모두 수정되었다면 프로젝트를 실행하고

localhost:8080/h2-console로 접속해서 쿼리를 날려봅시다~

 

제가 추가해놓은 데이터가 기본으로 잘 들어있는 걸 확인할 수 있습니다!

application.yml 쪽에서 use-new-id-generator-mappings: false로 바꿔줘야 하는 부분을

몰라서 삽질을 오래 했네요 ㅠㅠ 오늘은 요기까지 작업하고

다음 시간에 이어서 게시판 목록을 완성해보도록 합시다!

댓글