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接口就行。
其中有关事务配置的类有:
当你添加自己的事务机制时,可能要添加相应的配置类型。得到参数。这个我还不清楚,待了解。
- 大小: 33.1 KB
- 大小: 8.2 KB
分享到:
相关推荐
《深入解析iBatis源码》 iBatis,一个优秀的Java持久层框架,以其轻量级、灵活的特性在众多ORM(Object-Relational Mapping)框架中独树一帜。iBatis的核心在于它的SQL映射机制,它将数据库操作与业务逻辑解耦,...
描述中的"ibatis框架源码剖析书中附带的光盘,ibatis源码分析"暗示这可能是一个学习资源,用于深入理解iBATIS的工作原理,可能包括了对源码的详细解读和分析。 **iBATIS核心知识点** 1. **SQL映射**:iBATIS的核心...
通过深入分析iBATIS的源码,开发者不仅可以了解其工作原理,还能学习到设计模式、数据库访问的最佳实践以及如何优雅地处理数据库操作。对于提升Java开发者的技能和理解数据库访问层的实现有极大的帮助。在实际开发中...
通过对源码的深入分析,我们可以理解ibatis的核心机制,掌握数据库操作的底层原理,从而更好地利用和优化这个强大的持久层框架。在这个压缩包中,包含的文件是《ibatis框架源码剖析》的全文内容。 ibatis作为一个轻...
接下来,关于源码分析: 1. 源码阅读:源码中包含Ibatis的所有核心组件,如SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession等。通过阅读源码,可以深入了解其工作原理,例如如何加载配置文件、如何创建和...
在源码分析部分,你会看到iBATIS如何加载和解析XML配置文件,如何执行SQL语句,以及如何处理异常。这部分内容对于理解iBATIS的工作流程至关重要,它将帮助你更好地调试和优化基于iBATIS的应用。 最后,你会了解到...
8. **插件机制**:iBATIS提供了一种插件机制,允许用户自定义拦截器来扩展其功能。 通过深入研究iBATIS 2.3的源码,开发者不仅可以了解其实现细节,还可以学习到如何设计一个高效的持久层框架,提升自己的编程技巧...
一、**IBatis源码分析** IBatis的源码是开源的,这对于开发者来说是一份宝贵的资源,可以让我们深入了解其工作原理和内部机制。通过阅读源码,我们可以学习到以下知识点: 1. **动态SQL**:IBatis的核心功能之一...
《深入解析iBatis 2.3源码》 iBatis,作为一款经典的Java持久层框架,以其轻量级、灵活的特性深受开发者喜爱。...在实际项目中,结合源码分析,能够更好地定制和扩展iBatis,满足特定的业务需求。
本文将从iBatis源代码的角度出发,深入探讨其内部机制,帮助开发者更好地理解和使用这一工具。 一、iBatis框架概述 iBatis是由Clinton Begin创建的一个开源项目,最初是Apache基金会的子项目,后来转为MyBatis。它...
7. **插件机制**:Ibatis允许开发者自定义插件,拦截SQL执行过程,实现如日志记录、性能分析等功能,扩展性极强。 8. **事务管理**:Ibatis支持手动和自动的事务管理,理解何时提交、回滚事务,以及事务的隔离级别...
同时,通过对源码的分析,开发者可以更好地利用这两个框架提供的功能,例如:利用Mybatis的注解简化开发,或者使用Ibatis的动态SQL提高查询效率。 在实践中,IbatisExer和MybatisExer这两个项目提供了一系列的示例...
本书籍“iBATIS 框架源码剖析”提供了对iBATIS框架深入理解的机会,通过源代码分析,帮助读者掌握其内部工作原理。源代码带有详尽的注释,使得学习过程更为直观和高效。 iBATIS的核心概念主要有以下几个方面: 1. ...
通过对iBATIS源码的深入分析,开发者可以更好地理解其内部工作原理,从而更高效地利用这个框架来开发应用,提高开发效率,减少数据库访问的复杂性。《iBATIS框架源码剖析》这本书正是为此目的而作,提供了宝贵的参考...
总的来说,iBATIS DAO 2.3.4.726版的源码分析对于学习和理解Java中的持久层设计有极大的帮助。通过阅读和理解源码,开发者不仅能掌握iBATIS DAO的基本使用,还能深入了解其内部实现,提升数据库操作的技巧和优化能力...
其次,iBatis的主要功能包括动态SQL、事务管理以及缓存机制。动态SQL使得开发者可以在运行时根据需要构建SQL语句,增加了代码的灵活性。事务管理则确保了数据的一致性和完整性,可以手动控制事务的提交和回滚。而...
通过分析Ibatis的源代码,我们可以学习到如何优雅地处理数据库操作,包括事务管理、结果映射、参数绑定等。同时,Ibatis的插件机制(Interceptor)允许我们自定义拦截器,扩展其功能,例如添加日志记录、性能监控等...
源码分析部分,我们可以看到iBATIS如何解析XML配置文件,如何通过反射机制调用Java方法,以及如何将查询结果自动映射到Java对象上。这对于理解iBATIS的工作流程及其内部机制至关重要。 在"iBATIS开发指南电子书"中...
标签 "源码" 和 "工具" 提示我们可能需要深入到Ibatis的源代码中寻找死锁产生的原因,并且可能需要利用一些调试工具(如JProfiler、VisualVM等)来分析和解决这个问题。 文件 "Throttle.java" 和 "ThrottledPool....
四、源码分析 iBatis的核心源码中,SqlSessionManager是整个框架的入口,负责创建SqlSession对象并管理事务。Executor接口及其实现类(SimpleExecutor、ReuseExecutor、BatchExecutor)是执行SQL的关键。在执行SQL...