| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package com.xintong.system.druidTools;
- import com.alibaba.druid.pool.DruidDataSource;
- import com.github.pagehelper.PageHelper;
- import org.apache.ibatis.plugin.Interceptor;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.mybatis.spring.SqlSessionFactoryBean;
- import org.mybatis.spring.annotation.MapperScan;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.Primary;
- import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
- import org.springframework.jdbc.datasource.DataSourceTransactionManager;
- import javax.sql.DataSource;
- /**
- * 文件名:MasterDataSourceConfig
- * 版本信息:日期:2017/4/21 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
- */
- @Configuration
- // 扫描 Mapper 接口并容器管理
- @MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory")
- public class MasterDataSourceConfig {
- // 精确到 master 目录,以便跟其他数据源隔离
- static final String PACKAGE = "com.xintong.visualinspection.dao.master";
- // static final String MAPPER_LOCATION = "classpath:mapper/master/*.xml";
- @Value("${master.mapper-locations}")
- private String MAPPER_LOCATION;
- @Value("${master.datasource.url}")
- private String url;
- @Value("${master.datasource.username}")
- private String user;
- @Value("${master.datasource.password}")
- private String password;
- @Value("${master.datasource.driver-class-name}")
- private String driverClass;
- @Autowired
- private PageHelper pageHelper;
-
- @Bean(name = "masterDataSource")
- @Primary
- public DataSource masterDataSource() {
- DruidDataSource dataSource = new DruidDataSource();
- dataSource.setDriverClassName(driverClass);
- dataSource.setUrl(url);
- dataSource.setUsername(user);
- dataSource.setPassword(password);
- return dataSource;
- }
- @Bean(name = "masterTransactionManager")
- @Primary
- public DataSourceTransactionManager masterTransactionManager() {
- return new DataSourceTransactionManager(masterDataSource());
- }
- @Bean(name = "masterSqlSessionFactory")
- @Primary
- public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
- throws Exception {
- final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
- sessionFactory.setDataSource(masterDataSource);
- Interceptor[] plugins = new Interceptor[]{pageHelper};
- sessionFactory.setPlugins(plugins);
- sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
- .getResources(MAPPER_LOCATION));
- return sessionFactory.getObject();
- }
- }
|