DataSourceConfig.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.tzld.piaoquan.longarticle.config;
  2. import com.alibaba.druid.pool.DruidDataSource;
  3. import org.apache.ibatis.session.SqlSessionFactory;
  4. import org.mybatis.spring.SqlSessionFactoryBean;
  5. import org.mybatis.spring.annotation.MapperScan;
  6. import org.springframework.beans.factory.annotation.Qualifier;
  7. import org.springframework.boot.context.properties.ConfigurationProperties;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.context.annotation.Primary;
  11. import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
  12. import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  13. import org.springframework.transaction.PlatformTransactionManager;
  14. import javax.sql.DataSource;
  15. @Configuration
  16. @MapperScan(basePackages = DataSourceConfig.PACKAGE_MASTER, sqlSessionFactoryRef = "masterSqlSessionFactory")
  17. public class DataSourceConfig {
  18. // 数据源
  19. static final String PACKAGE_MASTER = "com.tzld.piaoquan.longarticle.dao.mapper.longarticle";
  20. static final String MAPPER_LOCATION_MASTER = "classpath:mapper/longarticle/*.xml";
  21. @Bean(name = "dataSource")
  22. @ConfigurationProperties("spring.datasource")
  23. public DataSource getDataSource(){
  24. return new DruidDataSource();
  25. }
  26. @Primary
  27. @Bean(name = "masterTransactionManager")
  28. public PlatformTransactionManager masterTransactionManager(@Qualifier("dataSource") DataSource dataSource) {
  29. return new DataSourceTransactionManager(dataSource);
  30. }
  31. @Primary
  32. @Bean(name = "masterSqlSessionFactory")
  33. public SqlSessionFactory masterSqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
  34. final SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
  35. sessionFactoryBean.setDataSource(dataSource);
  36. sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(DataSourceConfig.MAPPER_LOCATION_MASTER));
  37. return sessionFactoryBean.getObject();
  38. }
  39. }