@Configuration
@MapperScan(basePackages = "com.tool.mapper.s1",
sqlSessionFactoryRef = "s1SqlSessionFactory",
sqlSessionTemplateRef = "s1SqlSessionTemplate")
public class S1Config {
private final static String MAPPER_XML_PATH = "classpath:mybatis/mappers1/*Mapper.xml";
@Bean(name = "s1DataSource")
@Primary
public DataSource getDataSource() {
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.driverClassName("s1");
dataSourceBuilder.url("s1");
dataSourceBuilder.username("s1");
dataSourceBuilder.password("s1");
return dataSourceBuilder.build();
}
@Bean(name = "s1SqlSessionFactory")
@Primary
public SqlSessionFactory sqlSessionFactory(@Qualifier("s1DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_XML_PATH));
return sqlSessionFactoryBean.getObject();
}
@Bean(name = "s1SqlSessionTemplate")
@Primary
public SqlSessionTemplate sqlSessionTemplate(@Qualifier("s1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
@Bean(name = "s1TransactionManager")
@Primary
public DataSourceTransactionManager transactionManager(@Qualifier("s1DataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}