六、springboot(三)配置双数据源
1、目录结构

2.jdbc.properties配置
#db houge spring.datasource.houge.jdbc-url=jdbc:oracle:thin:@192.168.0.120::ORCL spring.datasource.houge.username=houge spring.datasource.houge.password=monkey spring.datasource.houge.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.houge.initial-size= spring.datasource.houge.min-idle= spring.datasource.houge.max-active= #db gkh spring.datasource.gkh.jdbc-url=jdbc:oracle:thin:@192.168.0.115::ORCL spring.datasource.gkh.username=gkh spring.datasource.gkh.password= spring.datasource.gkh.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.gkh.initial-size= spring.datasource.gkh.min-idle= spring.datasource.gkh.max-active=
3、注解式数据源配置DataSourceConfig
@Configuration
@PropertySource("classpath:config/jdbc.properties")
public class DataSourceConfig {
@Primary
@Bean(name = "dataSourceHouge")
@ConfigurationProperties(prefix = "spring.datasource.houge")
public DataSource dataSourceHouge() {
return DataSourceBuilder.create().build();
}
@Bean(name = "dataSourceGkh")
@ConfigurationProperties(prefix = "spring.datasource.gkh")
public DataSource dataSourceGkh() {
return DataSourceBuilder.create().build();
}
}
4、houge数据库配置
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "entityManagerFactoryHouge",
transactionManagerRef = "transactionManagerHouge",
basePackages = {"com.lofty.springboot.repository.houge" })
public class HougeDataSource {
@Autowired
@Qualifier("dataSourceHouge")
private DataSource dataSourceHouge;
@Primary
@Bean(name = "entityManagerFactoryHouge")
public LocalContainerEntityManagerFactoryBean entityManagerFactoryHouge(EntityManagerFactoryBuilder builder) {
LocalContainerEntityManagerFactoryBean em = builder.dataSource(dataSourceHouge)
.packages("com.lofty.springboot.domain.houge")
.persistenceUnit("hougePersistenceUnit").build();
return em;
}
@Primary
@Bean(name = "transactionManagerHouge")
PlatformTransactionManager transactionManagerHouge(EntityManagerFactoryBuilder builder) {
return new JpaTransactionManager(entityManagerFactoryHouge(builder).getObject());
}
}
5、gkh数据库配置
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "entityManagerFactoryGkh",
transactionManagerRef = "transactionManagerGkh",
basePackages = {"com.lofty.springboot.repository.gkh" })
public class GkhDataSource {
@Autowired
@Qualifier("dataSourceGkh")
private DataSource dataSourceGkh;
@Bean(name = "entityManagerFactoryGkh")
public LocalContainerEntityManagerFactoryBean entityManagerFactoryGkh(EntityManagerFactoryBuilder builder) {
LocalContainerEntityManagerFactoryBean em = builder.dataSource(dataSourceGkh)
.packages("com.lofty.springboot.domain.gkh")
.persistenceUnit("gkhPersistenceUnit").build();
return em;
}
@Bean(name = "transactionManagerGkh")
PlatformTransactionManager transactionManagerGkh(EntityManagerFactoryBuilder builder) {
return new JpaTransactionManager(entityManagerFactoryGkh(builder).getObject());
}
}
6、启动测试
六、springboot(三)配置双数据源的更多相关文章
- spring项目配置双数据源读写分离
我们最早做新项目的时候一直想做数据库的读写分离与主从同步,由于一些原因一直没有去做这个事情,这次我们需要配置双数据源的起因是因为我们做了一个新项目用了另一个数据库,需要把这个数据库的数据显示到原来的后 ...
- spring boot 配置双数据源mysql、sqlServer
背景:原来一直都是使用mysql数据库,在application.properties 中配置数据库信息 spring.datasource.url=jdbc:mysql://xxxx/test sp ...
- SpringBoot+MyBatis配置多数据源
SpringBoot 可以支持多数据源,这是一个非常值得学习的功能,但是从现在主流的微服务的架构模式中,每个应用都具有唯一且准确的功能,多数据源的需求很难用到,考虑到实际情况远远比理论复杂的多,这里还 ...
- spring+mybatis 配置双数据源
配置好后,发现网上已经做好的了, 不过,跟我的稍有不同, 我这里再拿出来现个丑: properties 文件自不必说,关键是这里的xml: <?xml version="1.0&quo ...
- springboot配置双数据源 MySQL和SqlServer
1. pom文件的驱动jar包加上去, compile 'com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8' 2. application.yml sprin ...
- springboot + mybatis配置多数据源示例
转:http://www.jb51.net/article/107223.htm 在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一个数据源. 代码结构: 简要原理: 1)Datab ...
- Java开发学习(三十六)----SpringBoot三种配置文件解析
一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...
- SpringMVC配置双数据源,一个java项目同时连接两个数据库
数据源在配置文件中的配置 请点击---> java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 <pre name="code" class=" ...
- spring 配置双数据源并读写分离
摘自 开源项目Ibase4j 关键思想在于AbstractRoutingSource 类 还有方法名称和切入点去控制使用哪个数据源 1.首先在配置文件配置多个数据源 并且交给继承自spri ...
随机推荐
- shiro学习笔记(四) ini配置以及加解密
INI配置 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的:也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Sh ...
- Nginx日志和http模块相关变量
$arg_PARAMETER #HTTP 请求中某个参数的值,如/index.php?site=www.ttlsa.com,可以用$arg_site 取得 www.ttlsa.com 这个值. $ar ...
- crontab的定时任务实例
实例1:每1分钟执行一次myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3 ...
- ios隐藏头部状态栏级tableview头部控件
- (BOOL)prefersStatusBarHidden { return YES; } self.tableView.separatorColor = [UIColor colorWithRed ...
- DOM中offsetLeft与style.left的区别
offsetLeft 获取的是相对于父对象的左边距 left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距 如果父div的position定义为relat ...
- Spring MVC之ResposeEntity下载文件
Spring Mvc中用ResponseEntity方式下载文件如下: @RequestMapping("/download") public ResponseEntity< ...
- 2.21 JS处理滚动条
2.21 JS处理滚动条 前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了.常见场景:当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到 ...
- 2.20 绕过验证码(add_cookie)
2.20 绕过验证码(add_cookie) 前言验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级 ...
- redis实现api限流
redis官方给出了参考文档:INCR 这里参考第一种方法,使用token bucket实现:每个用户每秒有一个Counter: func RateLimiter(uid string, rlType ...
- 最长可重区间集 spfa费用流
给定实直线L上的n个开区间,和一个正整数k 选取若干个区间,在保证实直线L上的任意一个点最多被选出区间覆盖k次的情况下,使得这些区间的长度和最大 先把区间按照左端点排序, 考虑到重复其实就代表着相交, ...