spring与mybatis整合之事务管理

时间:2021-11-04 05:11:09

        下午进行了spring和mybatis的事务管理测试,发现如果自己再这么粗心的话,就没法编程了。先说正题,只需在原来的spring配置文件中加入下面一句话即可

<!-- 事务管理器 -->  
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

下面是全部的spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<!--创建jdbc数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatisTest" />
<property name="username" value="root" />
<property name="password" value="yhzs" />
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:com/DaoSupport/configuration.xml" />
</bean>

<bean id="userTest" class="com.DaoSupport.Test">
<!--注入SqlSessionDaoSupport实例 -->
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

<!-- 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

</beans>

在这里尤其注意dataSource下面的<property name="driverClassName" value="com.mysql.jdbc.Driver" />这一行,name是driverClassName,而不是mybatis中的driver。