본문 바로가기
프로젝트/Spring Boot 블로그프로젝트

[블로그프로젝트] 3. 테이블생성하기

by dantriss 2023. 2. 6.

유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다.

IDE : IntelliJ

언어 : Java

DB : MySQL

빌드관리 도구 : Maven

OS : iOS

참고유튜브 : 메타코딩

 

 

유튜브에선 application.yml에 아래 코드로 덮어쓰면 실행할때 콘솔에 SQL도 생성되고 또 자동으로 DB에 테이블이 생성된다고 했다.

server:
  port: 포트번호
  servlet:
    context-path: /blog
    encoding:
      charset: UTF-8
      enabled: true
      force: true
    
spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp
      
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul
    username: mysql아이디
    password: mysql비밀번호
    
  jpa:
    open-in-view: true
    hibernate:
      ddl-auto: create
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
      use-new-id-generator-mappings: false
    show-sql: true
    properties:
      hibernate.format_sql: true

  jackson:
    serialization:
      fail-on-empty-beans: false

 

하지만 os도 다르고 Intellij로 진행하기도하고 버전도 다르기 때문에 완전 똑같이 할수는 없었고 지금까지도 오류가 있거나 되지 않는부분은 내가 검색해서 계속 진행해왔다. yml에 해당부분도 안되길래 계속 찾아보면서 시간을 낭비할바에 그냥 테이블을 빨리 만들고 계속 진행하는게 시간적으로 이득일꺼라고 판단하에 진행하고자 한다.

 

클래스들을 다 생성했지만 동작하지 않았다...

 

직접 create table~ 로 진행 할 수 있지만, 나는 erd cloud를 사용하여 만들고자 했다.

생성하는것도 어렵지 않고, 일단 한눈에 보기 편하다는 장점을 가지고 있어 사용하고자 한다.

https://www.erdcloud.com/ 

 

3개의 테이블을 만들고

*참고로 erdcloud에서 ManyToOne 등 관계설정을 하면 상위 테이블에 있는 PK들을 하위 테이블에 전부 가져가게 되는데 필요없는 키들은 삭제해주면 된다.

 

아래에 내보내기를 선택해보자

 

원하는 조건들을선택하고 SQL미리보기를 선택하면 이렇게 간편하게 테이블들이 생성된다. 그대로 복사해서 DBeaver에서 script에 붙여넣기를 진행하고 테이블을 생성해보자. 

 

 

생성한후 새로고침을 해주면 테이블들이 보인다. 엔티티 관계도를 보게 된다면 서로 잘 연결이 되어있는걸 확인 할 수 있다.

 

댓글