首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ibatis源码分析(3)事务机制

2012-10-13 
ibatis源码分析(三)事务机制ibatis的事务机制一共有ExternalTransaction、JdbcTransaction、JtaTransaction、

ibatis源码分析(三)事务机制
  ibatis的事务机制一共有ExternalTransaction、JdbcTransaction、JtaTransaction、UserProvidedTransaction四种。下面事务相关的UML

看一下JdbcTransaction的代码:
private void init() throws SQLException, TransactionException {
    // 打开事务
    connection = dataSource.getConnection();
    if (connection == null) {
      throw new TransactionException("JdbcTransaction could not start transaction.  Cause: The DataSource returned a null connection.");
    }
    // 设置数据库隔离级别。
    isolationLevel.applyIsolationLevel(connection);
    // 自动提交
    if (connection.getAutoCommit()) {
      connection.setAutoCommit(false);
    }
    //判断是否使用日志
    if (connectionLog.isDebugEnabled()) {
      connection = ConnectionLogProxy.newInstance(connection);
    }
  }
从上面的代码可以看出ibatis的事务可以做到多选择,只要你实现Transaction接口就行。
其中有关事务配置的类有:

当你添加自己的事务机制时,可能要添加相应的配置类型。得到参数。这个我还不清楚,待了解。

热点排行