|
|
@@ -0,0 +1,71 @@
|
|
|
+package com.xintong.visualinspection.druidTools;
|
|
|
+
|
|
|
+import com.alibaba.druid.pool.DruidDataSource;
|
|
|
+import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
+import org.mybatis.spring.SqlSessionFactoryBean;
|
|
|
+import org.mybatis.spring.annotation.MapperScan;
|
|
|
+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;
|
|
|
+
|
|
|
+ @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);
|
|
|
+ sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
|
|
|
+ .getResources(MAPPER_LOCATION));
|
|
|
+ return sessionFactory.getObject();
|
|
|
+ }
|
|
|
+}
|