mysql-plus 和 seata 整合
版本:
- spring cloud : Hoxton.SR1
- spring alibaba 2.1.1.RELEASE
- seata-server-0.9.0
- mybatis-plus 3.0.5
seata 配置自己查 讲关键
自定义配置类 DataSourceProxyConfig 与 mybatis-plus 配置
@Configuration
public class DataSourceProxyConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DruidDataSource druidDataSource() {
return new DruidDataSource();
}
@Primary
@Bean
public DataSourceProxy dataSource(DruidDataSource druidDataSource) {
return new DataSourceProxy(druidDataSource());
}
/**
* mybatis-plus 配置 -----------------------
* 需要 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
*/
// 利用代理数据源来创建SqlSessionFactory对象
@Bean
public SqlSessionFactory sessionFactory(DataSourceProxy dataSource) throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
factoryBean.setConfiguration(configuration);
factoryBean.setTransactionFactory(new SpringManagedTransactionFactory());
return factoryBean.getObject();
}
}
/**
* 需要 不自动配置
*/
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class ReplyApplication {
public static void main(String[] args){
SpringApplication.run(ReplyApplication.class, args);
}
}