1 packagecom.ieou.qmt.common;2
3 importorg.apache.ibatis.session.SqlSessionFactory;4 importorg.mybatis.spring.SqlSessionFactoryBean;5 importorg.springframework.beans.factory.annotation.Qualifier;6 importorg.springframework.boot.context.properties.ConfigurationProperties;7 importorg.springframework.boot.jdbc.DataSourceBuilder;8 importorg.springframework.context.annotation.Bean;9 importorg.springframework.context.annotation.Configuration;10 importorg.springframework.core.io.support.PathMatchingResourcePatternResolver;11 importorg.springframework.core.io.support.ResourcePatternResolver;12 importorg.springframework.jdbc.core.JdbcTemplate;13 importorg.springframework.jdbc.datasource.DataSourceTransactionManager;14 importorg.springframework.transaction.PlatformTransactionManager;15
16 importjavax.sql.DataSource;17
18 @Configuration19 public classSqlServerDataSourceConfig {20
21 private static final String MAPPER_PATH = "classpath:mybatis/mapping/mapper/*.xml";22
23 private static final String ENTITY_PACKAGE = "com.ieou.qmt.mapper";24
25 @Bean(name = "sqlServerDataSource")26 @Qualifier("sqlServerDataSource")27 @ConfigurationProperties(prefix="spring.datasource.second")28 publicDataSource getMyDataSource(){29 returnDataSourceBuilder.create().build();30 }31
32 @Bean(name = "secondaryJdbcTemplate")33 publicJdbcTemplate secondaryJdbcTemplate(34 @Qualifier("sqlServerDataSource") DataSource dataSource) {35 return newJdbcTemplate(dataSource);36 }37
38 @Bean(name = "second.SqlSessionTemplate")39 publicSqlSessionFactory devSqlSessionFactory(40 @Qualifier("sqlServerDataSource") DataSource ddataSource)41 throwsException {42 final SqlSessionFactoryBean sessionFactory = newSqlSessionFactoryBean();43 sessionFactory.setDataSource(ddataSource);44 ResourcePatternResolver resolver = newPathMatchingResourcePatternResolver();45 sessionFactory.setMapperLocations(resolver.getResources(MAPPER_PATH));46 sessionFactory.setTypeAliasesPackage(ENTITY_PACKAGE);47 returnsessionFactory.getObject();48 }49
50 @Bean51 public PlatformTransactionManager sqlServerTransactionManager(@Qualifier("sqlServerDataSource") DataSource sqlServerDataSource)52 {53 return newDataSourceTransactionManager(sqlServerDataSource);54 }55
56 }