iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 16
0
Modern Web

Spring Boot and React - 前後端 30 天分手日記系列 第 16

Day 16 - MySQL 使用Spring Boot 自動建立Table設定

Day 15 - MySQL 手動建立Schema與Table

上一章教大家手動建立Table

今天要講如何使用 Spring Boot 自動建立Table

首先我們需要在application.properties設定參數

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=12345
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.dialect.storage_engine=innodb
  • spring.jpa.hibernate.ddl-auto:

    指的是服務起來時要用何種方式執行ddl指令, 有create, update, create-drop 等形式。

    create: 啟動時建立Table, 下次啟動會覆蓋上次的, 故會造成資料遺失

    update: 若無Table則啟動時建立, 若有則視有無變更自動Update

    create-drop:啟動時建立Table, 當次Session關閉則刪除

  • spring.datasource.url:

    jdbc連線方式, 因時區關係, 我們在參數後指定了serverTimezone=UTC

  • spring.datasource.username:

    MySQL的使用者名稱

  • spring.datasource.password

    MySQL的使用者密碼

  • spring.datasource.driver-class-name

    我們的driver名稱

  • spring.jpa.database-platform

    使用的資料庫平台, 我們用的是MySQL 8.0

  • spring.jpa.properties.hibernate.dialect.storage_engine

    儲存方式, MySQL有很多種, 預設為MyISAM, 我們使用的是innodb

    簡單講一下重點差別, 有興趣的朋友可自行google

    MyISAM: Select速度快, 佔用空間小, 不支援Transaction

    innodb: 佔用空間較大, 支援Transaction, 發生錯誤時可直接Rollback

這樣我們設定就完成了, 但Model還需要指定名稱與格式大小

下一章教大家如何用Annotation設定資料庫欄位

Day 17 - MySQL 使用Annontation設定欄位 (1)


上一篇
Day 15 - MySQL 手動建立Schema與Table
下一篇
Day 17 - MySQL 使用Annontation設定欄位 (1)
系列文
Spring Boot and React - 前後端 30 天分手日記30

尚未有邦友留言

立即登入留言