使用Mybatis時程式執行成功,資料庫卻沒有改變

2021-09-19 03:55:25 字數 597 閱讀 4532

以上程式執行沒有報錯,執行結果如下:

顯示有一行資料插入,可是檢視資料庫發現並沒有插入的這行資料:

經網上查詢後發現原因:

因為mybatis預設不是自動提交事務的, 所以其實沒有修改資料庫, 

剛剛新增完後立即返回的結果,是從mybatis為了提高效能設定的快取裡讀取的,不是從資料庫讀取的

解決的辦法有如下兩種:

1.在opensession() 的括號裡寫true, 設定自動提交事務,

2.在**中加入sqlsession.commit()

修改過後執行成功,資料庫資料也插入進去了!

使用mybatis時paramType傳入引數總結

mybatis中sql接受的引數分為 1 基本型別 2 物件 3 list 4 陣列 5 map 無論傳哪種引數給mybatis,他都會將引數放在乙個map中 如果傳入基本型別 變數名作為key,變數值作為value 此時生成的map只有乙個元素。如果傳入物件 物件的屬性名作為key,屬性值作為va...

使用mybatis時 異常筆記

在test中寫測試 時,與直接啟動專案不同,不會啟動spring,需要手動去載入spring,具體例子如下 首先在引入spring等依賴的同時要引入junit與spring test這兩個測試工具。org.springframework spring test junit junit 4.11 te...

使用mybatis時防止sql注入

size large b 一.where條件 like 注入 b 錯誤 示例 select id,name from user where name like 注入方式1 在文字框直接把name對應的值寫為 那後端sql直接變為select id,name from user where name ...