最近在嘗試使用SpringBoot + JPA +H2 數據庫,在application.properties中,做了數據庫連接配置
spring.datasource.url=jdbc:h2:tcp://localhost/D:/H2DataBase/DB/test;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE
但是在啟動了程序后,控制臺輸出連接到了內存模式,輸出結果如下:
Starting embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false', username='sa'
請問為什么會出現這種情況,是否數據庫連接URL有誤?如何解決?謝謝大家了。
1 回答

慕婉清6462132
TA貢獻1804條經驗 獲得超2個贊
因為你用了tcp模式并且加了auto_server=true參數,所以springboot自動以mem模式啟動了h2,但這不是h2常用的的模式,h2是嵌入式數據庫,通常應該用file或mem模式,所以jdbc的url,應該是:
spring.datasource.url=jdbc:h2:file:yourdbname
某些書或網站推薦使用mem模式,而我認為file模式更好,這樣開發調試時保存的數據才能在重啟應用后得以保留,并且file模式也很穩定,沒有什么問題。只是要記住生產環境絕不可使用h2,h2僅應該用于開發。
添加回答
舉報
0/150
提交
取消