`
jsczxy2
  • 浏览: 1275276 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

jdbc和ibatis与spring中sessionFactory等价的类(帮助处理事务)

阅读更多
其它数据访问技术的等价类

理解了 Spring JDBC 的数据连接泄漏问题,其中的道理可以平滑地推广到其它框架中去。Spring 为每个数据访问技术框架都提供了一个获取事务上下文绑定的数据连接(或其衍生品)的工具类和数据源(或其衍生品)的代理类。

DataSourceUtils 的等价类

下表列出了不同数据访问技术对应 DataSourceUtils 的等价类:


表 3. 不同数据访问框架 DataSourceUtils 的等价类
数据访问技术框架	连接 ( 或衍生品 ) 获取工具类
Spring JDBC	 org.springframework.jdbc.datasource.DataSourceUtils
Hibernate	 org.springframework.orm.hibernate3.SessionFactoryUtils
iBatis	 org.springframework.jdbc.datasource.DataSourceUtils
JPA	 org.springframework.orm.jpa.EntityManagerFactoryUtils
JDO	 org.springframework.orm.jdo.PersistenceManagerFactoryUtils

TransactionAwareDataSourceProxy 的等价类

下表列出了不同数据访问技术框架下 TransactionAwareDataSourceProxy 的等价类:


表 4. 不同数据访问框架 TransactionAwareDataSourceProxy 的等价类
数据访问技术框架	连接 ( 或衍生品 ) 获取工具类
Spring JDBC	 org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy
Hibernate	 org.springframework.orm.hibernate3.LocalSessionFactoryBean
iBatis	 org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy
JPA	 无
JDO	 org.springframework.orm.jdo.
TransactionAwarePersistenceManagerFactoryProxy

-----------------------------------------------分割线----------------------------------------------------


hibernate中sessionFactory配置如下(具备事务管理功能):
<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="mysqlDataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
				<prop key="hibernate.show_sql">false</prop>
				<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
				<prop key="hibernate.cache.use_query_cache">true</prop>
				<prop key="hibernate.cache.use_second_level_cache">true</prop>
			</props>
		</property>
		<property name="mappingDirectoryLocations">
			<list>
				<value>classpath*:/com/xuyi/modal</value>
			</list>
		</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<property name="sessionFactory">
		<ref bean="sessionFactory" />
	</property>
</bean>


jdbcTemplate和ibatis中datasource代理配置如下(具备事务管理功能):
	
<bean id="dataSourceProxy"
	class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
	<constructor-arg ref="dataSource"></constructor-arg>
</bean>
<bean id="transactionManager"  
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
    <property name="dataSource" ref="dataSourceProxy" />  
</bean>  
分享到:
评论

相关推荐

    ibatis与spring整合

    1. **灵活性高**:ibatis允许开发者直接编写SQL语句,并且可以自由控制事务处理。 2. **学习曲线低**:相较于其他复杂的ORM框架,ibatis的学习成本较低。 3. **性能优异**:由于可以直接编写SQL语句,因此在性能方面...

    ibatis与spring的整合

    在整合iBATIS和Spring的过程中,主要目标是利用Spring的IOC(Inversion of Control)容器来管理和协调数据访问层(DAO)以及事务处理,同时利用iBATIS作为SQL映射框架,提供灵活的数据库操作。以下将详细阐述整合的...

    ibatis 与spring3整合

    7. **测试与调试**:整合完成后,可以通过单元测试或集成测试验证Ibatis 和 Spring 是否能正常交互,确保SQL执行、事务处理和对象映射等功能都按预期工作。 通过这样的整合,我们可以充分利用Ibatis的灵活性和...

    ibatis 完美例子 一对多 批处理 事务 和 spring struts2集成

    在Java代码中,通过MyBatis的SqlSession对象加载或保存相关的对象,Ibatis会自动处理一对多的关联填充和删除规则。 接着,批处理操作是提高性能的关键。在Ibatis中,可以通过设置SqlSession的flushCache和useCache...

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    iBatis和Spring整合

    iBatis和Spring整合 iBatis和Spring整合

    iBATIS与Spring的集成

    6. **使用Mapper**:在业务逻辑中,通过Spring管理的Mapper接口,直接调用对应的SQL方法,Spring会自动处理事务和异常。 集成iBATIS和Spring的优势主要体现在以下几个方面: - **事务管理**:Spring提供了声明式...

    ibatis_spring源代码

    在IT行业中,`iBatis` 和 `Spring` 是两个非常重要的框架,它们分别专注于数据库访问和应用程序的全面管理。`iBatis` 是一款优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得数据库操作更为灵活...

    spring+ibatis声明式事务Demo_

    通过这个Demo,开发者可以学习如何在Spring与iBatis集成的环境中配置和使用声明式事务,理解事务的ACID属性(原子性、一致性、隔离性和持久性)如何在实际项目中得到保障。此外,这也是理解和实践Spring AOP以及依赖...

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    struts2+ibatis+spring 安例

    Struts2、iBatis和Spring是Java Web开发中非常重要的三个框架,它们共同构建了一个高效、灵活的应用架构。这个实例结合了这三个框架,旨在帮助开发者理解如何将它们整合在一起,提升开发效率。 Struts2作为MVC...

    Struts2+iBATIS+Spring整合

    1. 引入依赖:在项目中引入Struts2、iBATIS和Spring的相关库,可以通过Maven或Gradle等构建工具管理依赖。 2. 配置Spring:创建Spring配置文件,定义Bean以及它们之间的依赖关系。还可以配置数据源、事务管理器等。...

    struts1+ibatis+Spring demo

    Struts1、iBatis和Spring是Java Web开发中三个重要的框架,它们分别负责MVC模式中的表现层、数据访问层以及业务层的管理。这个"struts1+ibatis+Spring demo"是一个示例项目,展示了如何将这三个框架集成到一起,实现...

    spring3.2与Ibatis整合

    7. **测试**:在Spring与iBatis整合后,可以使用Spring的`@Transactional`注解进行单元测试,确保每个方法都在独立的事务中执行,便于模拟各种数据状态并进行断言。 以上就是关于"Spring 3.2与iBatis整合"及"在...

    spring ibatis 配置(包括事务管理)

    通过以上步骤,我们就完成了Spring与iBatis的集成配置,包括了数据源、SqlSessionFactory、SqlSessionTemplate、Mapper接口的扫描以及事务管理。这样,我们就可以在Spring的管理下,利用iBatis进行高效、灵活的数据...

    Spring高版本对ibatis的支持

    最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 &lt;bean id="sqlMapClient" class="org.spring...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    ibatis与spring整合实例(附源码)

    总之,iBatis与Spring的整合能够帮助开发者更方便地管理和执行数据库操作,同时也利用Spring的强大功能如事务管理和依赖注入,提高代码的可维护性和可测试性。通过实际的示例源码,学习者可以深入理解这一整合过程,...

    spring mvc+ibatis+spring注解

    这些注解能够帮助Spring自动检测和管理bean,例如,@Controller注解用于标记控制器类,@Transactional用于开启事务管理。 "Spring事务"是Spring框架提供的事务管理机制,它支持编程式事务管理和声明式事务管理。在...

Global site tag (gtag.js) - Google Analytics