原文地址:https://www.cnblogs.com/xiaofengfeng/p/9552816.html
1、application.properties
#sqlserver配置数据库
spring.datasource.url=jdbc:sqlserver://localhost:1433;DatabaseName=hg-om
spring.datasource.username=sa
spring.datasource.password=sa
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
#mysql配置数据库
spring.datasource.url=jdbc:mysql://localhost:3306/hg-om
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver
2、数据库配置:配置目录下所用的数据库
FirstMybatisConfig
package com.ddp.config;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
@Configuration
@MapperScan(basePackages = { "com.ddp.**.mapper.first" }, sqlSessionTemplateRef = "autoTestSqlSessionTemplate")
public class FirstMybatisConfig {
@Bean
@ConfigurationProperties(prefix = "first.datasource")
public DataSource autoTestDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public SqlSessionTemplate autoTestSqlSessionTemplate(
@Qualifier("autoTestSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
SqlSessionTemplate template = new SqlSessionTemplate(sqlSessionFactory);
return template;
}
@Bean
public SqlSessionFactory autoTestSqlSessionFactory(@Qualifier("autoTestDataSource") DataSource dataSource)
throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
// 添加XML目录
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
bean.setMapperLocations(resolver.getResources("classpath*:com/ddp/**/mapper/first/*.xml"));
return bean.getObject();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
SecondMybatisConfig
package com.ddp.config;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
@Configuration
@MapperScan(basePackages = { "com.ddp.**.mapper.second" }, sqlSessionTemplateRef = "userSqlSessionTemplate")
public class SecondMybatisConfig {
@Bean(name = "userDataSource")
@Primary // 必须加此注解,不然报错,下一个类则不需要添加
@ConfigurationProperties(prefix = "second.datasource") // prefix值必须是application.properteis中对应属性的前缀
public DataSource userDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public SqlSessionFactory userSqlSessionFactory(@Qualifier("userDataSource") DataSource dataSource)
throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
// 添加XML目录
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
bean.setMapperLocations(resolver.getResources("com/ddp/**/mapper/second/*.xml"));
return bean.getObject();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
@Bean
public SqlSessionTemplate userSqlSessionTemplate(
@Qualifier("userSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
SqlSessionTemplate template = new SqlSessionTemplate(sqlSessionFactory); // 使用上面配置的Factory
return template;
}
}
3、对应mapper地址
4、启动类正常配置