1 写配数据库置类1
dbConfig.DataSourceConfigCommon
package XXX.api.dbConfig;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import javax.sql.DataSource;//表示这个类为一个配置类@Configuration// 配置mybatis的接口类放的地方@MapperScan(basePackages = "XXX.api.mapper.common", sqlSessionFactoryRef = "commonSqlSessionFactory")public class DataSourceConfigCommon { // 将这个对象放入Spring容器中 @Bean(name = "commonDataSource") // 表示这个数据源是默认数据源// @Primary // 读取application.properties中的配置参数映射成为一个对象 // prefix表示参数的前缀 @ConfigurationProperties(prefix = "spring.datasource.common") public DataSource getDateSourceCommon() { return DataSourceBuilder.create().build(); } @Bean(name = "commonSqlSessionFactory") // 表示这个数据源是默认数据源// @Primary // @Qualifier表示查找Spring容器中名字为test1DataSource的对象 public SqlSessionFactory commonSqlSessionFactory(@Qualifier("commonDataSource") DataSource datasource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(datasource); bean.setMapperLocations( // 设置mybatis的xml所在位置 new PathMatchingResourcePatternResolver().getResources("classpath:cn/longmaster/slss/api/mapper/xml/*.xml")); return bean.getObject(); } @Bean("commonSqlSessionTemplate") // 表示这个数据源是默认数据源// @Primary public SqlSessionTemplate commonSqlSessionTemplate( @Qualifier("commonSqlSessionFactory") SqlSessionFactory sessionFactory) { return new SqlSessionTemplate(sessionFactory); }}
2 写配数据库置类2
dbConfig.DataSourceConfigYLSBGL
package XXX.api.dbConfig;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import javax.sql.DataSource;//表示这个类为一个配置类@Configuration// 配置mybatis的接口类放的地方@MapperScan(basePackages = "XXX.api.mapper.ylsbgl", sqlSessionFactoryRef = "ylsbglSqlSessionFactory")public class DataSourceConfigYLSBGL { // 将这个对象放入Spring容器中 @Bean(name = "ylsbglDataSource") // 表示这个数据源是默认数据源// @Primary // 读取application.properties中的配置参数映射成为一个对象 // prefix表示参数的前缀 @ConfigurationProperties(prefix = "spring.datasource.ylsbgl") public DataSource getDateSourceYlsbgl() { return DataSourceBuilder.create().build(); } @Bean(name = "ylsbglSqlSessionFactory") // 表示这个数据源是默认数据源// @Primary // @Qualifier表示查找Spring容器中名字为test1DataSource的对象 public SqlSessionFactory ylsbglSqlSessionFactory(@Qualifier("ylsbglDataSource") DataSource datasource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(datasource); bean.setMapperLocations( // 设置mybatis的xml所在位置 new PathMatchingResourcePatternResolver().getResources("classpath:cn/longmaster/slss/api/mapper/xml/*.xml")); return bean.getObject(); } @Bean("ylsbglSqlSessionTemplate") // 表示这个数据源是默认数据源// @Primary public SqlSessionTemplate ylsbglSqlSessionTemplate( @Qualifier("ylsbglSqlSessionFactory") SqlSessionFactory sessionFactory) { return new SqlSessionTemplate(sessionFactory); }}
3 配置文件配置
spring: datasource: common: name: common jdbc-url: jdbc:mysql://*.*.*.*:3306/db_XXX?useUnicode=true&&characterEncoding=utf-8 #注意设置编码格式 #url username: XXX #用户名 password: *** #密码 driver-class-name: com.mysql.cj.jdbc.Driver #数据库链接驱动 ylsbgl: driver-class-name: oracle.jdbc.driver.OracleDriver name: ylsbgl jdbc-url: jdbc:oracle:thin:@**.*.*.*:1521/ORCL #url username: XXX #用户名 password: *** #密码
4 在XXX.api.mapper.ylsbgl 和 XXX.api.mapper.common 下写对应的Mapper 即可