MyBatis(七)——增、删、改的实现

一. 基本概念

  1. 事务回滚:如果在一个事务中某个SQL执行事务,希望回到事务的原点,保证数据库数据的完整性。
  2. 在MyBatis中默认是关闭了JDBC的自动提交功能。
    (1)每一个SqlSession默认都是不自动提交事务;
    (2)session.commit()提交事务;
    (3)openSession(true)。自动提交。setAutoCommit(true).
  3. MyBatis底层是对JDBC的封装。
    (1)JDBC中excuteUpdate()执行新增,删除,修改的SQL。返回值是int,表示受影响的行数。
    (2)MyBatis中<insert><delete><update>标签没有resultType属性,其返回值都是int。
  4. 在openSession()时,Mybatis会在创建SqlSession的同时创建一个Transaction(事务对象),autoCommit都为True。如果出现异常,使用session.rollback()回滚事务。

二. 新增

  1. 在PeopleMapper.xml中使用<insert>标签
  <insert id="ins" parameterType="people">
  	insert into people values(default,#{name},#{age})
  </insert>
  1. 测试类
try {
	int index = session.insert("com.ouc.mapper.PeopleMapper.ins", people);
	if(index>0){
		System.out.println("成功");
	}else{
		System.out.println("失败");
	}
} catch (Exception e1) {
	session.rollback();
	}
session.commit();	

二. 修改

  1. 在PeopleMapper.xml中使用<update>标签
  <update id="upd" parameterType="people">
  	update people set name=#{name} where id = #{id}
  </update>
  1. 测试类
try {
	int index = session.update("com.ouc.mapper.PeopleMapper.upd", people);
	if(index>0){
		System.out.println("成功");
	}else{
		System.out.println("失败");
	}
} catch (Exception e1) {
	session.rollback();
	}
session.commit();	

三. 删除

  1. 在PeopleMapper.xml中使用<delete>标签
  <delete id="del" parameterType="int">
  	delete from people where id = #{0}
  </delete>
  1. 测试类
try {
	int index = session.delete("com.ouc.mapper.PeopleMapper.del", 3);
	if(index>0){
		System.out.println("成功");
	}else{
		System.out.println("失败");
	}
} catch (Exception e1) {
	session.rollback();
	}
session.commit();	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值