参考链接:Spring整合Mybatis的简单示例
1、注解的方式集成
1.1、新增aop相关的依赖包
<!--AOP-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.3.3</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.6</version>
</dependency>
1.2、Spring配置文件中添加事务相关配置项
<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="dataSourceTransactionManager"/>
1.3、在需要事务支持的类名方法上添加Transactional注解
package com.yusian.dao;
import com.yusian.entity.User;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface UserDao {
/**
* 保存用户
* @param user
*/
@Transactional
void saveUser(User user);
/**
* 获取所有用户
* @return
*/
List<User> getUsers();
}
2、标签配置的方式
2.1、Spring配置文件中添加相关配置项
<!--Transaction相关配置-->
<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--事务切面-->
<tx:advice id="txAdvice" transaction-manager="dataSourceTransactionManager">
<tx:attributes>
<tx:method name="saveUser" isolation="DEFAULT" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!--切入点-->
<aop:config>
<aop:pointcut id="pc" expression="execution(* com.yusian.dao.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="pc"/>
</aop:config>