Spring 如何在Mybatis项目中实现事务管理
我目前正在从事一个已经实施mybatis的项目。 因为这是一个遗留代码,所以实现是使用Spring 如何在Mybatis项目中实现事务管理,spring,jax-rs,mybatis,Spring,Jax Rs,Mybatis,我目前正在从事一个已经实施mybatis的项目。 因为这是一个遗留代码,所以实现是使用 弹簧 Mybatis JAxrs Spring应用程序上下文文件 <bean id="sqlSessionFactory" class="com.ca.aa.ui.framework.common.mybatis.SqlSessionFactoryBeanWrapper"> <property name="dataSource" ref="dataSource
<bean id="sqlSessionFactory" class="com.ca.aa.ui.framework.common.mybatis.SqlSessionFactoryBeanWrapper">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:ibatis/*_mapper.xml" />
</bean>
如何在这里实现事务管理器,请提供帮助?有很多方法可以实现这一点,特别是考虑到您已经配置了spring。基本上,您需要配置两件事
sqlSessionFactory
中提到的dataSource
的位置,定义可能会有所不同。最有可能的情况是,您在项目中使用了连接池,即您对某些连接池进行了如下配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
public interface TenantDAO {
public List<something> somemethod1();
}
<bean id="issuerService" class="com.ca.ias.admin.service.IssuerServiceImpl">
<property name="tenantDAO" ref="tenantDAO"/>
</bean>
public void insert(){
try{
tenantDao.insert();
}catch(Exception e){
}finally{
}
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
@Transactional
public void insert(){
}
@Transactional(readOnly=true)
public void find(){
}