<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          spring boot 項(xiàng)目中自動執(zhí)行 sql 語句

          共 1792字,需瀏覽 4分鐘

           ·

          2020-12-22 22:59


          現(xiàn)在很多項(xiàng)目,都時興用容器化部署,不易報錯,部署方便都是這種部署方式的優(yōu)點(diǎn)。但對于 spring boot mysql 項(xiàng)目來說,如何在項(xiàng)目啟動前,就自動地創(chuàng)建數(shù)據(jù)庫和初始化sql腳本呢?本文提供一種解決辦法。

          一、添加配置

          1、配置介紹

          在 properties 或 yaml 文件里面,添加以下配置(以 yaml 配置文件為例):

          spring:
            datasource:
              schema:
                - classpath:static/xxx.sql
              initialization-mode: ALWAYS

          添加以上兩個配置即可。

          • spring.datasource.schema:sql腳本的位置,classpath 路徑。

          • spring.datasource.initialization-mode:初始化模式,有三個選擇,分別是:

            • ALWAYS:始終初始化數(shù)據(jù)源。

            • EMBEDDED:僅初始化嵌入式數(shù)據(jù)源。

            • NEVER:不初始化數(shù)據(jù)源。

          這里我選擇的初始化模式為 ALWAYS 。

          2、sql 腳本說明

          sql 腳本需要放在 resources/static 目錄下,配置里面指定 classpath 地址。

          sql 執(zhí)行腳本部分內(nèi)容如下:

          # 修改數(shù)據(jù)庫的編碼格式為utf8
          ALTER DATABASE xxx character set utf8 collate utf8_general_ci;
          # 切換到某數(shù)據(jù)庫下
          USE xxx;
          # 創(chuàng)建表
          ...(省略)

          3、自動創(chuàng)建數(shù)據(jù)庫

          在 spring.datasource.url 中,可以在指定數(shù)據(jù)庫的同時,設(shè)置數(shù)據(jù)庫如果不存在就自動創(chuàng)建,createDatabaseIfNotExist=true 。配置如下:

          spring:
            datasource:
              driver-class-name: com.mysql.cj.jdbc.Driver
              url: jdbc:mysql://0.0.0.0:3306/xxx?createDatabaseIfNotExist=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
              username: root
              password: xxx

          二、總結(jié)

          關(guān)于實(shí)現(xiàn)在項(xiàng)目啟動前,如何自動創(chuàng)建數(shù)據(jù)庫和初始化sql腳本,本文就提供了一種方法,全部是基于修改 spring boot 配置文件來實(shí)現(xiàn)的?,F(xiàn)在截一下全部的圖:




          --end--


          掃描下方二維碼
          添加好友,備注【交流
          可私聊交流,也可進(jìn)資源豐富學(xué)習(xí)群

          瀏覽 56
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月激情丁香网 | 永久免费黄色电影 | 黑人大阴道视频在线观看 | 欧美A∨ | 国产乱伦网站 |