知识点有事务处理的配置,还有事务处理的方法

事务处理的配置:

mybatis的事务处理由两种方式控制,JDBC和MANAGED;  MANAGED就是说事务处理由第三方的插件来完成,比如说spring。

事务处理的配置也是要写在基本配置文件当中,写在<environment>标签的子标签<transactionManager>

<environment>
<transactionManager type="JDBC"/>
  ...
</environment>

然后来看一下事务处理的方法,也就是经典代码:

首先要关闭自动提交,就是建立session的时候传一个false进去,其实默认就是这样。

try{

  session = sqlMapper.openSession(false);

然后就是各种各样的操作。

然后提交事务:

  session.commit();

} catch(Exception e) {//提交后有问题的话,我们有个回滚操作

  session.rollback();//回滚事务(回滚指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。回滚包括程序回滚和数据回滚等类型。)

} finally {

  session.close();//关闭session

}

顺便说一下MyBatis的自动返回id机制:

session的insert方法很厉害, insert操作有个特点,就是把一个对象传进来的时候,会同时为这个原始的对象赋上该赋的值,比如说自增的id,这是Mybatis的一个特点,就是说本来java里面的这个JiKeUser对象里的id属性是没有赋值的,但是你把它insert操作,整个对象传进来之后,Mybatis会为这个对象的id属性自动赋上自增的id值!

Mybatis事务处理的更多相关文章

  1. springmvc+spring-security+mybatis +redis +solar框架抽取

    参考文章:Spring MVC 3 深入总结: 第二章 Spring MVC入门 —— 跟开涛学SpringMVC 参考博客:http://www.cnblogs.com/liukemng/categ ...

  2. myBatis应用

    最近项目中使用myBatis(iBatis),所以目前对所遇的一些问题及有些模糊的地方在这里标注一下. 首先mybaits是一个“半自动化”的ORM框架. 需要使用的jar包:mybatis-3.0. ...

  3. MyBatis的事务处理

    先来假设这样一个问题:如果数据库里面有一个用户表和一个作家表,那么当要添加一条数据到作家表中时,作家表的id必须是用户表中的其中一个id,因为作家一定也要是一个用户.这时就涉及到事务处理. 在上一篇博 ...

  4. [MyBatis]浅谈如何实现事务处理

    要实现事务处理,就得从SqlSession中取出connection来,然后对connection采用setAutoCommit,commit,rollback等操作,最后的时候,不能像JDBC一样关 ...

  5. [MyBatis] 如何让MyBatis支持代码级事务处理

    MyBatis提供的sqlSession对象是可以用来帮助我们实现事务处理的,方式和JDBC的类似,具体请见代码: import java.sql.Connection; import java.sq ...

  6. JDBC介绍和Mybatis运行原理及事务处理

    本博客内容非自创,转载自以下三位,侵删: https://juejin.im/post/5ab7bd11f265da23906bfbc5 https://my.oschina.net/fifadxj/ ...

  7. 事务处理: databse jdbc mybatis spring

    事务的认识需要一个相当漫长的流程,慢慢在实践中理解,然后在强化相关理论基础. 数据库中的事务: 传统的本地事务处理都是依靠数据库自身事务处理能力,而事务本身是传统关系型数据库的基石.简单来说事务就是一 ...

  8. mybatis 使用事务处理

    mybatis默认开启事务 以前使用JDBC的时候,如果要开启事务,我们需要调用conn.setAutoCommit(false)方法来关闭自动提交,之后才能进行事务操作,否则每一次对数据库的操作都会 ...

  9. Mybatis批量事务处理

    /** * 批量提交数据 * @param sqlSessionFactory * @param mybatisSQLId SQL语句在Mapper XML文件中的ID * @param commit ...

随机推荐

  1. kindle】扫描版PDF完美切割六寸

    kindle]扫描版PDF完美切割六寸  半夏 2013-11-05 18:36:01     软件来源记不清了..连使用说明的网址都找不到了,自己写一下使用方法大家凑合一下呗~    软件是大牛写的 ...

  2. Redis管理key命令

    1 DEL key该命令用于在 key 存在时删除 key. 2 DUMP key 序列化给定 key ,并返回被序列化的值. 3 EXISTS key 检查给定 key 是否存在. 4 EXPIRE ...

  3. url加密并计算时间

    将URL地址参数进行加密传输提高网站安全性 加密算法,直接调用就好 function keyED($txt,$encrypt_key){ $encrypt_key = md5($encrypt_key ...

  4. 本人会linux系统的各种版本的安装,近期发教程

    小弟虽然刚刚踏入职场,可是咱大学也不是打酱油过的啊,研究过各种版本系统的安装,也都均已经实践,勿喷,有问题 咱们可以相互探讨!

  5. perl BEGIN block and END block

    1 本质上就是一段代码 BEGIN在程序运行前执行,END在程序运行之后执行. 2 BEGIN END的行为和所在的位置无关 也就是说,无论BEGIN和END block位于代码的哪里,最先执行的是B ...

  6. Dynamics CRM 修改Excel 最大导出记录限制及 最大上传文件限制

    CRM默认的Excel最大导出记录是10000条,最大上传文件限制为5m. 这样的限制可以满足少量数据的批量更新,但是如果数据量比较大的话需要修改最大的导出记录限制,和上传文件的大小,网上有的是直接修 ...

  7. 搭建基于Maven的SSM框架

    先展示文件结构图对工程结构有大致了解: 主要为  ssm-parent (用来管理jar包版本)是每个工程的父工程,ssm-common(用来处理底层数据),ssm-manager(对数据库信息进行操 ...

  8. html5--项目实战-仿天猫(移动端页面)

    html5--项目实战-仿天猫(移动端页面) 总结: 1.标准搜索栏的做法:这里是弹性布局,放大镜和小话筒是background img 2.手机尾部导航做法:这是一个个 li 标签,每个li标签占% ...

  9. facebook Presto SQL分析引擎——本质上和spark无异,分解stage,task,MR计算

    Presto 是由 Facebook 开源的大数据分布式 SQL 查询引擎,适用于交互式分析查询,可支持众多的数据源,包括 HDFS,RDBMS,KAFKA 等,而且提供了非常友好的接口开发数据源连接 ...

  10. linux下修改apache,nginx服务端口号

    一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...