成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

瀏覽:3日期:2023-10-22 08:39:05

今天在利用Mybatis框架進行數(shù)據(jù)庫插入時,遇到了好幾個超級奇怪的問題,也可能是我真的太菜雞了。做個記錄吧~

1. 排除數(shù)據(jù)庫中表設置錯誤

使用show variables like ’%autocommit%’;查看表是否設置自動提交

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

autocommit已經(jīng)設置為on,無問題

2. 檢查測試類代碼

Test.java

import entity.Data;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.RowBounds;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.InputStream;import java.util.HashMap;import java.util.List;import java.util.Map;public class Test { public static void main(String[] args) throws Exception { //加載配置文件為流 InputStream is = Resources.getResourceAsStream('MybatisDemo.xml'); //創(chuàng)建SqlSessionFactory工廠 SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is); //核心接口(發(fā)送SQL語句) SqlSession session = ssf.openSession(); //根據(jù)id查詢 Data data=session.selectOne('com.selectData',2); System.out.println('ID:'+data.getId()+'n'+'姓名:'+data.getName()+'n'+'年齡:'+data.getAge()); //查詢所有 List<Data> list = session.selectList('com.selectAll'); System.out.println(list); for(int i = 0; i < list.size(); i++){ System.out.println(list.get(i).toString()); } //模糊查詢 List<Data> list1 = session.selectList('com.selectLike','t'); System.out.println(list1); for(int i = 0; i < list1.size(); i++){ System.out.println(list1.get(i).toString()); } //分頁查詢 Map map=new HashMap<>(); map.put('start',0); map.put('length',2); List<Data> list2 = session.selectList('com.selectPage',map); System.out.println(list2); //分頁查詢 RowBounds bunds=new RowBounds(0,1); List<Data> list3= session.selectList('com.selectPage1',null,bunds); System.out.println(list3); Data data1 = new Data('楊婷婷',24); int rows=session.insert('com.insertData', data1); System.out.println(rows); //釋放資源 session.close(); }}

實際上,只有select會自動提交,insert、update、delete并不會自動提交,所以問題在于代碼

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

并未設置一個手動提交。

2. 兩種解決辦法

2.1 利用commit

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

增加一行代碼以后,發(fā)現(xiàn)并沒有什么用,證明問題不在這。運行后數(shù)據(jù)庫中仍然無數(shù)據(jù)。

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

實際上,并不是commit方法不管用,而是添加代碼位置不對,應該是session中有了相應指令再去提交,所以將session.commit()放到insert命令后,如下:

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

數(shù)據(jù)成功插入數(shù)據(jù)庫。

2.2 openSession()方法參數(shù)問題

在openSession()方法中寫入?yún)?shù) true.

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

數(shù)據(jù)成功插入數(shù)據(jù)庫,完美!

到此這篇關(guān)于mybatis中insert返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)的文章就介紹到這了,更多相關(guān)mybatis insert返回值為1內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

主站蜘蛛池模板: 美女日韩在线观看视频 | 美女张开腿让男人桶的动态图 | 韩国美女豪爽一级毛片 | 成人久久久观看免费毛片 | 国产在线一区二区三区四区 | 国产精品无打码在线播放9久 | dy888午夜国产午夜精品 | 久久国产精品岛国搬运工 | 男人一进一出桶女人视频 | 欧美笫一页 | 99精品视频在线观看免费播放 | 九九视频在线免费观看 | 欧美日韩高清在线观看一区二区 | 91久热| 欧美精品hdxxxxx | 中文字幕国产欧美 | 91在线免费公开视频 | 久久高清影院 | 亚洲男人的天堂在线视频 | 精品久久久久久久久久久 | 国产成人lu在线视频 | 国产成人精品久久一区二区小说 | 国产精品自在自线亚洲 | 爽爽日本在线视频免费 | 免费一级欧美大片久久网 | 狠狠色狠狠色狠狠五月ady | xxxx肥婆性bbbb欧美 | 亚洲国产天堂久久综合网站 | 久久久久99精品成人片三人毛片 | 不卡一级毛片免费高清 | 久久久久国产视频 | 亚洲视频在线观看免费 | 久青草视频在线 | 在线观看视频一区 | 亚洲精品国产成人一区二区 | 日韩 国产 在线 | 加勒比综合在线 | 国产亚洲欧美日韩在线观看一区二区 | 伊人久久精品午夜 | 三级黄色毛片网站 | 日韩欧一级毛片在线播无遮挡 |