@Configuration
@MapperScan(basePackages = {"com.aaa.mapper"},sqlSessionFactoryRef = "ADataSqlSessionFactory")
public class A {
@Bean(name = "ADataSource")
public DataSource dataSource() {
try {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(drivername);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
druidDataSource.setValidationQuery(validationQuery);
initDataSource(druidDataSource);
return druidDataSource;
} catch (Exception e) {
logger.error("ADataSource資料源初始化異常",e);
return null;
}
}
@Bean(name = "ADataSqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("ADataSource") DataSource dataSource)
throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setMapperLocations(
new PathMatchingResourcePatternResolver().getResources("classpath:mapper/a/*.xml"));
return bean.getObject();
}
@Bean(name = "ADataTransactionManager")
public DataSourceTransactionManager transactionManager(@Qualifier("ADataSource") DataSource dataSource) {
DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(dataSource);
return new DataSourceTransactionManager(dataSource);
}
}