一、問題描述
sqlite 操作數據庫,保存成功,但數據庫沒有數據,在代碼中有查詢出了數據,關閉項目,等段時間,啓動項目,代碼查詢數據,數據又不見了。。
最近一直在搞JAVAFX,開發了個工具,用spring boot整合了mybatis-plus+sqlite3,保存數據一直有問題,mybatis-plus保存成功,但數據庫一直沒有沒有內容,但是在mybatis-plus中又查詢出來數據了。
二、解決方法
後面從以下幾個方面來排除,解決了這個問題:
1.mybatis-plus 是否有問題,
2.數據庫是否用錯了
3.配置文件是否錯了
第一步懷疑是mybatis-plus的問題,但是如果是mybatis-plus的問題,應該數據也查詢不出來,但是又查詢出來了人,然後用JDBC的方式,操作了下,發現還是不行,所有應該不是ORM的問題。
第二步懷疑是否是連錯了數據庫,反覆檢查也沒有發現問題。
第三步懷疑配置文件是否又錯,反覆檢查沒啥問題啊,不然保存,查詢就不會出現數據了,又懷疑是事物的問題,開啓了@EnableTransactionManagement註解,搞來搞去,還是沒有找到問題所在。。。
覺得問題肯定是出在數據庫這邊,最後在配置文件總,找到了問題所在。。
# DataSource Config
spring:
datasource:
url: jdbc:sqlite::resource:db/xxxxx.db
driver-class-name: org.sqlite.JDBC
username:
password:
配置文件是這樣的,數據庫文件放在resources下
將路徑改成絕對路徑,測試下,然後發現可行。。。。。
jdbc:sqlite:D:/xxxx/xxxx/xxxx/src/main/resources/db/huasheng.db
最後將數據庫文件放到項目下的db目錄下去了就行了,配置文件改成如下就行了:
# DataSource Config
spring:
datasource:
url: jdbc:sqlite:db/huasheng.db
driver-class-name: org.sqlite.JDBC
username:
password: