1.需要在启动类上配置开启事务注解
@EnableTransactionManagement(proxyTargetClass = true)
2.在需要添加事务控制的类上面,添加注解(一定要这个事务名字,不要用默认的)
@Transactional(value = "myTransactionManager")
3.配置事务控制的配置类,注入到容器中
@Configuration
public class MyTransaction {
@Value("root")
private String username;
@Value("123")
private String password;
@Value("jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8")
private String url;
@Value("com.mysql.jdbc.Driver")
private String driver;
//向ioc中注入数据源
@Bean
public DataSource getDataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
druidDataSource.setUrl(url);
druidDataSource.setDriverClassName(driver);
return druidDataSource;
}
@Bean(value = "myTransactionManager")
public TransactionManager getTransactionManager(DataSource dataSource){
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource);
return transactionManager;
}
}



