亚洲色蝴蝶中文娱乐网,在线亚洲欧美一区二区中文字幕,无人视频在线观看视频高清视频,99午夜国产精品一区二区,人人妻人人爽人人狠狠

用mybatis中的insert方法插入數(shù)據(jù),返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

時間:2020-01-28 22:06:15 類型:JAVA
字號:    

  用mybatis中的insert方法插入數(shù)據(jù),返回值為1,但數(shù)據(jù)庫卻沒有數(shù)據(jù)

用Mapper中的

<!-- 添加一個用戶,#{uname}為com.mybatis.po.MyUser的屬性值 -->
	<insert id="addUser" parameterType="com.mybatis.po.MyUser">
		insert into user(uname,usex)values(#{uname},#{usex})
	</insert>

在測試類中寫了這個

//讀取配置文件 mybatis-config.xml
			InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
			//根據(jù)配置文件構(gòu)建SqlSessionFactory
			SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);
			//通過 SqlSessionFactory 創(chuàng)建SqlSession
			SqlSession ss = ssf.openSession();
			//SqlSession執(zhí)行映射文件中定義的SQL,并返回映射結(jié)果
			//com.mybatis.mapper.UserMapper.selectUserById為UserMapper.xml中的命名空間+select 的id
			//查詢一個用戶
			/*MyUser mu = ss.selectOne("com.mybatis.mapper.UserMapper.selectUserById", 1);
			System.out.println(mu.getUname() + mu.getUid());*/
			//添加一個用戶
			 MyUser addmu = new MyUser();
	            addmu.setUname("小李");
	            addmu.setUsex("男");
	            Integer one = ss.insert("com.mybatis.mapper.UserMapper.addUser", addmu);
	            System.out.println(one);

結(jié)果是 one = 1; 但是到數(shù)據(jù)庫的表中查詢,卻沒有數(shù)據(jù)

最后找到解決方案如下:

1.    ssf.openSession();的時候(默認(rèn)為false),設(shè)置了沒有自動提交

  在返回one后面加上 ssf.commit();  就可以了,提交事務(wù)  

2.    ssf.openSession(true), 那么就會自動提交事務(wù)

以上兩種方案, 都會真正添加數(shù)據(jù)到數(shù)據(jù)庫中

<