MyBatis学习-3
MyBatis事务操作
功能:从应用程序角度出发,软件具有哪些功能.
业务:完成功能时的逻辑.对应 Service 中一个方法
事务:从数据库角度出发,完成业务时需要执行的 SQL 集合,统称一个事务.
事务回滚.如果在一个事务中某个 SQL 执行事务,希望回归到事务的原点,保证数据库数据的完整性.
在mybatis中默认是关闭了 JDBC 的自动提交功能。每一个 SqlSession 默认都是不自动提交事务.于是利用mybatis进行增删改操作时应该手都动交事务–session.commit(),操作失败发生异常应该回滚事务–seesion.rollback()
openSession(true);自动提交.setAutoCommit(true);
- mybatis底层是对JDBC的封装.
- JDBC 中 executeUpdate()执行新增,删除,修改的 SQL.返回值 int,表示受影响的行数.
- mybatis中<-insert><-delete><-update>标签没有 resultType 属性,默认认为返回值都是 int
- 在 openSession()时 Mybatis 会创建 SqlSession 时同时创建一个Transaction(事务对象),同时 autoCommit 都为 false
MyBatis 实现新增
在 mapper.xml 中使用<-insert>标签,标签没有返回值类型
通过 session.insert()调用新增方法 返回值为int类型
MyBatis 实现修改
在 mapper.xml 中提供<-update>标签标签没有返回值类型
通过 session.update()调用更新方法 返回值为int类型
MyBatis 实现删除
在 mapper.xml 中提供<-delete>标签标签没有返回值类型
通过 session.delete()调用更新方法 返回值为int类型
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kylin!
评论