亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

mybatis中insert返回值為1,但數據庫卻沒有數據

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

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

1. 排除數據庫中表設置錯誤

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

mybatis中insert返回值為1,但數據庫卻沒有數據

autocommit已經設置為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'); //創建SqlSessionFactory工廠 SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is); //核心接口(發送SQL語句) SqlSession session = ssf.openSession(); //根據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,但數據庫卻沒有數據

并未設置一個手動提交。

2. 兩種解決辦法

2.1 利用commit

mybatis中insert返回值為1,但數據庫卻沒有數據

增加一行代碼以后,發現并沒有什么用,證明問題不在這。運行后數據庫中仍然無數據。

mybatis中insert返回值為1,但數據庫卻沒有數據

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

mybatis中insert返回值為1,但數據庫卻沒有數據

數據成功插入數據庫。

2.2 openSession()方法參數問題

在openSession()方法中寫入參數 true.

mybatis中insert返回值為1,但數據庫卻沒有數據

mybatis中insert返回值為1,但數據庫卻沒有數據

數據成功插入數據庫,完美!

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

標簽: Mybatis 數據庫
主站蜘蛛池模板: 色综合久久综合中文小说 | 日本一卡2卡三卡4卡 免费网站仙踪 | 国产日产亚洲系列首页 | 国产成人精品免费视 | 黄色网址在线免费 | 国产欧美日韩在线播放 | 成人a毛片视频免费看 | 亚洲乱码中文字幕综合 | 男女晚上日日麻批视频不挡 | 久久曰 | 国产一区国产二区国产三区 | 91久久精品在这里色伊人6882 | 免费国产成人α片 | 免费视频一区二区性色 | 免费摸碰碰视频在线观看 | 龙口护士门91午夜国产在线 | 91摄影师与白嫩模特观看 | 国产视频网站在线 | 国产欧美日韩精品一区二 | 女人精aaaa片一级毛片女女 | 亚洲国产剧情在线 | 邪恶亚洲 | 成人国产精品一级毛片视频 | 国产丝袜制服 | 国产免费1000拍拍拍 | 亚洲黄色美女 | 欧美禁片在线观看免费 | 小明看看免费 | 国产免费高清在线精品一区 | 久久久男女野外野战 | 放几个免费的毛片出来看 | 亚洲国产成人最新精品资源 | 国产igao激情在线观看 | 国内精品视频在线播放 | 久久久久毛片成人精品 | 中国一级特黄的片子免费 | 国产精品欧美视频另类专区 | 亚洲精品网站在线观看不卡无广告 | 久久久久久久99精品免费 | 久久r精品 | 天天影视色香欲综合网天天录日日录 |