You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
2.1 KiB

package com.stone.conf.datasource.intermediate;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import tk.mybatis.spring.annotation.MapperScan;
import javax.sql.DataSource;
/**
* @author zichen
*/
@Configuration
@MapperScan(basePackages = "com.stone.mapper.intermediate", sqlSessionFactoryRef = "SessionTemplateIntermediate")
public class DruidIntermediate {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.intermediate")
public DataSourceProperties DataSourcePropertiesIntermediate(){
return new DataSourceProperties();
}
@Bean
@ConfigurationProperties(prefix = "spring.datasource.intermediate")
public DataSource DataSourceIntermediates() {
return DataSourcePropertiesIntermediate().initializeDataSourceBuilder().build();
// return DataSourceBuilder.create().build();
}
@Bean
public DataSourceTransactionManager TransactionManagerIntermediate() {
DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
dataSourceTransactionManager.setDataSource(DataSourceIntermediates());
return dataSourceTransactionManager;
}
@Bean(name = "SessionTemplateIntermediate")
public SqlSessionFactory SqlSessionFactoryIntermediate() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(DataSourceIntermediates());
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources( "classpath*:mapper/intermediate/*.xml"));
return sessionFactory.getObject();
}
}