栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot配置双数据源(Mybatis)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot配置双数据源(Mybatis)

实现步骤

在启动类上加上@EnableAutoConfiguration    ---加不加都行

@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class, PageHelperAutoConfiguration.class})

添加数据源配置类

mysql数据源

@Configuration
@MapperScan(basePackages = {"com.xxx.xxx.common.xiaoguan"}, sqlSessionFactoryRef = "mysqlSessionFactory")
public class MyBatisMysqlConfig {

	@Value("${spring.datasource.xxx.url}")
	private String dbUrl;

	@Value("${spring.datasource.xxx.username}")
	private String username;

	@Value("${spring.datasource.xxx.password}")
	private String password;

	
	@Bean
	public DataSource mysqlDataSource() {
		MysqlDataSource datasource = new MysqlDataSource();
		datasource.setUrl(dbUrl);
		datasource.setUser(username);
		datasource.setPassword(password);
		// datasource.setDr
		// datasource.setDriverClassName(driverClassName);
		
		return datasource;
	}

	@Bean
	public SqlSessionFactory mysqlSessionFactory(@Qualifier("mysqlDataSource") DataSource dataSource) throws Exception {
		//PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
		//分页插件
		Interceptor interceptor = new PageInterceptor();
		Properties properties = new Properties();
		//数据库
		properties.setProperty("helperDialect", "mysql");
		//是否分页合理化
		properties.setProperty("reasonable", "true");
		interceptor.setProperties(properties);

		factoryBean.setPlugins(new Interceptor[] {interceptor});
		factoryBean.setDataSource(dataSource);
		// factoryBean.setTypeAliasesPackage("com.app.domain.entity");// 指定基包
		// factoryBean.setMapperLocations(resolver.getResources("classpath:mapper*.xml"));//
		return factoryBean.getObject();
	}
}

oracle数据源

@MapperScan(basePackages = "com.xxx.xxx.common.problem.mapper",sqlSessionFactoryRef = "oracleSessionFactory")
@Configuration
public class MyBatisOracleConfig {

	@Value("${spring.datasource.xxx.url}")
	private String dbUrl;

	@Value("${spring.datasource.xxx.username}")
	private String username;

	@Value("${spring.datasource.xxx.password}")
	private String password;

	@Value("${spring.datasource.xxx.driver-class-name}")
	private String driverClassName;

	
	@Bean
	public DataSource oracleDataSource() {
		return DataSourceBuilder.create().url(dbUrl).driverClassName(driverClassName).username(username).password(password).build();
	}

	@Bean
	public SqlSessionFactory oracleSessionFactory(@Qualifier("oracleDataSource") DataSource oracleDataSource) throws Exception {
		//PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
		//分页插件
		Interceptor interceptor = new PageInterceptor();
		Properties properties = new Properties();
		//数据库
		properties.setProperty("helperDialect", "oracle");
		//是否分页合理化
		properties.setProperty("reasonable", "true");
		interceptor.setProperties(properties);

		factoryBean.setPlugins(new Interceptor[] {interceptor});
		factoryBean.setDataSource(oracleDataSource);
		// factoryBean.setTypeAliasesPackage("com.app.domain.entity");// 指定基包
		// factoryBean.setMapperLocations(resolver.getResources("classpath:mapper*.xml"));//
		return factoryBean.getObject();
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号