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

  ibatis的事务机制一共有ExternalTransaction、JdbcTransaction、JtaTransaction、UserProvidedTransaction四种。下面事务相关的UML
ibatis源码分析(三)事务机制
看一下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接口就行。
其中有关事务配置的类有:
ibatis源码分析(三)事务机制
当你添加自己的事务机制时,可能要添加相应的配置类型。得到参数。这个我还不清楚,待了解。

你可能感兴趣的:(ibatis,UML)