Mybatis实现新增删除修改和事务讲解

前期知识

项目分工

功能:从应用程序角度出发,软件具有哪些功能
业务:完成功能需要的逻辑 – 对应service中一个方法
事务:从数据库角度出发,完成业务时需执行的sql集合 叫做一个事务

mybatis对于JDBC

mybatis中默认是关闭JDBC的自动提交功能

每一个SqlSession默认是不自动提交事务
    1. session.commit() 提交事务
    2. openSession(true) 自动提交 [setAutoCommit(true)]

mybatis底层是对JDBC的封装

1. JDBC中executeUpdate()  执行增加/删除/修改
     返回值都是int
2. mybatis中insert/delete/update标签   执行增加/删除/修改
    没有resultType属性  认为返回值是int

在openSession()时,Mybatis会创建SqlSession+ 创建一个Transaction(事务对象) + autoCommit属性都是false

回滚(用try catch抓) session.rollback()回顾事务


Mybatis实现新增

mapper.xml中提供insert标签

1
2
3
<insert id="tianjia" parameterType="People">       //id是表示现在的方法叫tianjia  然后没有返回值  使用别名People直接用(对整个包取别名)
insert into people values(default,#{name},#{age}) //sql语句 要传进来name 和 age 两个属性
</insert>

test类session提供insert方法

1
2
3
4
5
6
7
8
9
10
11
12
13
 People p=new People();
p.setName("新增name1");
p.setAge(88);

int index1=session.insert("a.b.tianjia",p); //判断是否成功 默认返回值是int类型
if(index1>0)
{
System.out.println("成功");
}
else
{
System.out.println("失败");
}

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 前期知识
    1. 1.1. 项目分工
    2. 1.2. mybatis对于JDBC
  2. 2. Mybatis实现新增
    1. 2.1. mapper.xml中提供insert标签
    2. 2.2. test类session提供insert方法
,