zoukankan      html  css  js  c++  java
  • MyBatis配置项--配置环境(environments)--事务管理器(transactionManager)

    在MyBatis中有两种类型的事务管理器(也就是type=“[JDBC|MANAGED]”):

    ·JDBC – 这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。

    ·MANAGED – 这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如JEE应用服务器的上下文)。默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止它默认的关闭行为。例如:

     

    <transactionManager type="MANAGED">

      <property name="closeConnection" value="false"/>

    </transactionManager>

    提示:如果使用spring+MyBatis,则没有必要配置事务管理器,因为spring模块会使用自带的管理器来覆盖前面的配置。

    这两种事务管理器类型都不需要任何属性。它们不过是类型别名,换句话说,可以使用TransactionFactory接口的实现类的完全限定名或类型别名代替它们。

    public interface TransactionFactory {

      void setProperties(Properties props); 

      Transaction newTransaction(Connection conn);

      Transaction newTransaction(DataSource dataSource, TransactionIsolationLevel level, boolean autoCommit); 

    }

    任何在XML中配置的属性在实例化之后将会被传递给setProperties()方法。也需要建立一个Transaction接口的实现类,这个接口也很简单:

    public interface Transaction {

      Connection getConnection() throws SQLException;

      void commit() throws SQLException;

      void rollback() throws SQLException;

      void close() throws SQLException;

      Integer getTimeout() throws SQLException;

    }

    使用这两个接口,可以完全自定义MyBatis对事物的处理。

  • 相关阅读:
    OpenCV3入门(八)图像边缘检测
    OpenCV3入门(七)图像形态学
    OpenCV3入门(六)图像滤波
    OpenCV3入门(五)图像的阈值
    OpenCV3入门(四)图像的基础操作
    OpenCV3入门(三)基本绘图函数
    OpenCV3入门(二)Mat操作
    OpenCV3入门(一)环境搭建与实验
    图像边缘检测
    图像增强之空间域锐化
  • 原文地址:https://www.cnblogs.com/arrows/p/10338785.html
Copyright © 2011-2022 走看看