在 MyBatis 中,可以通過配置數據源和事務管理器來實現事務管理。以下是配置 Druid 數據源和事務管理器的示例:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" 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="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:mapper/*.xml" />
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
@Transactional
注解來開啟事務:@Service
public class UserService {
@Autowired
private UserMapper userMapper;
@Transactional
public void updateUser(User user) {
userMapper.updateUser(user);
}
}
通過以上配置,可以實現在使用 Druid 數據源和 MyBatis 的情況下進行事務管理。在需要進行事務管理的方法上添加 @Transactional
注解,Spring 會自動管理事務的提交和回滾。