日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Sprng boot(十三):Spring boot 小技巧

發(fā)布時間:2023/12/3 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sprng boot(十三):Spring boot 小技巧 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

初始化數(shù)據(jù)


使用jpa

在使用Spring boot jpa的情況下設置 spring.jpa.hibernate.ddl-auto 的屬性為 create 或 create-drop ,Spring boot啟動時默認會掃描classpath下面(項目一般是resources目錄)是否有import.sql,如果有機會執(zhí)行import.sql腳本。

使用spring JDBC

使用spring JDBC 需要在配置文件中添加以下配置

spring:datasource:schema: database/data.sqlsql-script-encoding: utf-8jpa:hibernate:ddl-auto: none

schema:設置腳本的路徑
sql-script-encoding:設置腳本的編碼
Spring boot 項目啟動的時候會自動執(zhí)行腳本。

ddl-auto 四個值得解釋

  • create:每次加載hibernate 時都會刪除上一次生成的表,然后根據(jù)你的model 類再重新來生成新表,哪怕兩次沒有任何改變也要這樣執(zhí)行,這就是導致數(shù)據(jù)庫表數(shù)據(jù)丟失的一個重要原因。
  • create-drop:每次加載hibernate 時根據(jù)model類生成表,但是sessionFactory 一關閉,表就自動刪除。
  • update:最常用的屬性,第一次加載hibernate 時根據(jù)model類自動建立起表結構(前提是先建立好數(shù)據(jù)庫),以后加載hibernate時根據(jù)model 類自動更新表結構,即使表結構改變了但表中的行仍然存在不會刪除以前的行。要注意的是當部署到服務器后,表結構是不會被立馬建立起來,是要等應用第一次運行起來后才會。
  • validate:每次加載hibernate時,驗證創(chuàng)建數(shù)據(jù)庫表結構,只會和數(shù)據(jù)庫中的表進行比較,不會創(chuàng)建新表,但是會插入新值
  • none:什么都不做。

不同點

第一種方式啟動jpa會自動創(chuàng)建表,import.sql只負責創(chuàng)建表單后的初始化數(shù)據(jù)。第二種方式啟動的時候不會創(chuàng)建表,需要初始化腳本中判斷表是否存在,再初始化腳本的步驟。

生產(chǎn)中,這兩種模式都慎用

參考:81. Database Initialization

thymeleaf 設置不校驗html標簽

spring.thymeleaf.cache=false spring.thymeleaf.mode=LEGACYHTML5

LEGACYHTML5需要搭配一個額外的庫NekoHTML才可用 項目中使用的構建工具是Maven添加如下的依賴即可完成:

<dependency><groupId>net.sourceforge.nekohtml</groupId><artifactId>nekohtml</artifactId><version>1.9.22</version> </dependency>

參考:thymeleaf模板對沒有結束符的HTML5標簽解析出錯的解決辦法

隨機端口

總結

以上是生活随笔為你收集整理的Sprng boot(十三):Spring boot 小技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。