You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.9 KiB
Java
67 lines
2.9 KiB
Java
package com.docus.bgts.config;
|
|
|
|
import com.alibaba.druid.pool.DruidDataSource;
|
|
import com.baomidou.mybatisplus.core.MybatisConfiguration;
|
|
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
import org.apache.ibatis.type.JdbcType;
|
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
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.core.io.support.ResourcePatternResolver;
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
|
import javax.sql.DataSource;
|
|
|
|
|
|
@Configuration
|
|
@MapperScan(basePackages = DbMysqlConfig.PACKAGE, sqlSessionFactoryRef = "dbmysqlSqlSessionFactory")
|
|
public class DbMysqlConfig {
|
|
// 这里一定要指定精准 否则后果不堪设想
|
|
static final String PACKAGE = "com.docus.bgts.mapper.dbmysql";
|
|
static final String MAPPER_LOCATION = "classpath:mapper/dbmysql/*.xml";
|
|
|
|
@Bean(name = "dbmysqlDataSource")
|
|
@ConfigurationProperties(prefix = "spring.datasource.mysql-docus")
|
|
public DataSource secondDataSource(){
|
|
return new DruidDataSource();
|
|
}
|
|
|
|
/*注入事务*/
|
|
@Bean(name = "dbmysqlTransactionManager")
|
|
public DataSourceTransactionManager secondTransactionManager() {
|
|
return new DataSourceTransactionManager(secondDataSource());
|
|
}
|
|
|
|
@Bean(name = "dbmysqlSqlSessionFactory")
|
|
public SqlSessionFactory secondSqlSessionFactory(@Qualifier("dbmysqlDataSource") DataSource dataSource)
|
|
throws Exception {
|
|
//配置mybatis-plus源
|
|
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean ();
|
|
//添加XML目录
|
|
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
|
bean.setMapperLocations(resolver.getResources(MAPPER_LOCATION));
|
|
// 实体类别名
|
|
bean.setTypeAliasesPackage("com.docus.bgts.entity.*");
|
|
MybatisConfiguration configuration = new MybatisConfiguration();
|
|
//开启下划线转驼峰
|
|
configuration.setMapUnderscoreToCamelCase(true);
|
|
configuration.setJdbcTypeForNull(JdbcType.NULL);
|
|
bean.setDataSource(dataSource);
|
|
bean.setConfiguration(configuration);
|
|
return bean.getObject();
|
|
//
|
|
// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
|
// sessionFactory.setDataSource(secondDataSource);
|
|
// sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
|
|
// .getResources(DbMysqlConfig.MAPPER_LOCATION));
|
|
// return sessionFactory.getObject();
|
|
}
|
|
|
|
|
|
}
|