zoukankan      html  css  js  c++  java
  • Mybatis事务处理

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

    事务处理的配置:

    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值!

  • 相关阅读:
    SQLServer.Produce的研究
    petshop以异步方式插入订单的疑惑(后面理解了)
    SQLHelper.GetCachedParameters方法之缓存
    DALFactory抽象工厂理解
    petshop异时消息处理队列抽象工厂
    AJAX学习2(经典)
    对SQLServerDAL.order的研究(不错,有心得)
    Invertory类对商品库存的更新困惑解决了
    AJAX学习1
    用DataSet读取xml文件
  • 原文地址:https://www.cnblogs.com/wangshen31/p/7747856.html
Copyright © 2011-2022 走看看