mybatis顯示修改數(shù)據(jù)庫成功, 但沒有修改數(shù)據(jù)庫的原因 (mybatis可以查詢但無法修改數(shù)據(jù)庫)

剛開始接觸mybatis的時候, 遇到一個情況, 就是查詢數(shù)據(jù)庫沒問題, 但是修改數(shù)據(jù)庫(增刪改)卻會出錯,

而且返回結(jié)果顯示修改成功,實際卻沒成功, 例如執(zhí)行以下代碼,先新增一個用戶zhangsan(密碼123), 并隨后查詢其密碼

image.png

控制臺顯示結(jié)果執(zhí)行成功,且查詢zhangsan的密碼結(jié)果正確

image.png

但是如果進入數(shù)據(jù)庫看,就會發(fā)現(xiàn)數(shù)據(jù)庫沒有新增zhangsan的資料, 然后再次調(diào)用方法查詢zhangsan的密碼的時候, 顯示結(jié)果是null

image.png
這個原因是因為mybatis默認不是自動提交事務(wù)的, 所以其實沒有修改數(shù)據(jù)庫,
剛剛新增完后立即返回的結(jié)果,是從mybatis為了提高性能設(shè)置的緩存里讀取的,不是從數(shù)據(jù)庫讀取的
解決的辦法一是在openSession() 的括號里寫true, 設(shè)定自動提交事務(wù), 一是在代碼中加入sqlSession.commit()

設(shè)定自動提交openSession( autoCommit=true)

image.png

代碼里寫上sqlSession.commit()

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容