备忘&分享

properties文件

示例2个数据源resourcesA & resourcesB

# web port
server.port=8102
# no web
#spring.main.web-environment=false# log config
logging.config=classpath:logback.xmlspring.devtools.restart.exclude=static/**,public/**
spring.devtools.restart.enabled=true#resourcesA
spring.datasource.adas.resourcesA.minimum-idle=5
spring.datasource.adas.resourcesA.maximum-pool-size=10
spring.datasource.adas.resourcesA.idle-timeout=30000
spring.datasource.adas.resourcesA.connection-timeout=30000
spring.datasource.adas.resourcesA.ConnectionTestQuery=select 1
spring.datasource.adas.resourcesA.jdbcUrl=jdbc:postgresql://******此处是数据库链接
spring.datasource.adas.resourcesA.username=postgres
spring.datasource.adas.resourcesA.password=password#resourcesB
spring.datasource.empdata.resourcesB.minimum-idle=5
spring.datasource.empdata.resourcesB.maximum-pool-size=10
spring.datasource.empdata.resourcesB.idle-timeout=30000
spring.datasource.empdata.resourcesB.connection-timeout=30000
spring.datasource.empdata.resourcesB.ConnectionTestQuery=select 1
spring.datasource.empdata.resourcesB.jdbcUrl=jdbc:postgresql://***********此处是数据库链接
spring.datasource.empdata.resourcesB.username=postgres
spring.datasource.empdata.resourcesB.password=password

JAVA配置数据源

resourcesA

import javax.sql.DataSource;import org.apache.ibatis.io.VFS;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
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.context.annotation.Primary;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;import com.zaxxer.hikari.HikariDataSource;@Configuration
@MapperScan(
//此处是对应的mapper包 @bean的name属性是自定义的basePackages = {"com.*.job.executor.mapper.resourcesA"},sqlSessionFactoryRef = "adasSqlSessionFactory"
)
public class resourcesAConfig{@Bean(name = "resourcesA")@ConfigurationProperties(prefix = "spring.datasource.adas.resourcesA")public DataSource dataSource() {return new HikariDataSource();}@Bean(name = "resourcesATransactionManager")public DataSourceTransactionManager resourcesATransactionManager() {return new DataSourceTransactionManager(dataSource());}@Bean(name = "resourcesASqlSessionFactory")public SqlSessionFactory resourcesASqlSessionFactory(@Qualifier("resourcesA") DataSource dataSource)throws Exception {final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();sessionFactory.setDataSource(dataSource);VFS.addImplClass(SpringBootVFS.class);return sessionFactory.getObject();}
}

resourcesB

import javax.sql.DataSource;
import org.apache.ibatis.io.VFS;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
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.context.annotation.Primary;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import com.zaxxer.hikari.HikariDataSource;@Configuration
@MapperScan(//此处是对应的mapper包 @bean的name属性是自定义的basePackages = {"com.*.*.*.mapper.empdata"},sqlSessionFactoryRef = "empSqlSessionFactory"
)
public class ResourcesBConfig {@Bean(name = "resourcesBSource")@ConfigurationProperties(prefix = "spring.datasource.empdata.resourcesB")public DataSource dataSource() {return new HikariDataSource();}@Bean(name = "eresourcesBTransactionManager")public DataSourceTransactionManager resourcesBTransactionManager() {return new DataSourceTransactionManager(dataSource());}@Bean(name = "resourcesBSqlSessionFactory")public SqlSessionFactory resourcesBSqlSessionFactory(@Qualifier("resourcesBSource") DataSource dataSource)throws Exception {final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();sessionFactory.setDataSource(dataSource);VFS.addImplClass(SpringBootVFS.class);return sessionFactory.getObject();}
}

总结

不同的数据源对应不同的mapper层,就可以无缝衔接多个数据源了。

JAVA配置多源数据库相关推荐

  1. springboot配置多源数据库

    springboot 配置多源数据库 springboot+druid+mybatis-plus+dynamic配置多源数据库 主要依赖包 spring-boot-starter-web mybati ...

  2. springboot mybatis 配置多源数据库mysql+sqlserver

    1.添加驱动包 <!-- mybatis -->     <dependency>         <groupId>org.mybatis</groupId ...

  3. Spring Boot文档阅读笔记-使用Spring Data JPA连接多源数据库(MySQL和Oracle)

    下面这个小项目展示了如何连接2个数据库,一个是Oracle,一个是MySQL. 关键的Maven依赖: <dependency><groupId>org.springframe ...

  4. 在Nutz中如何配置多个数据库源,并且带事务控制

    在Nutz中如何配置多个数据库源,并且带事务控制 发布于 560天前  作者 Longitude  995 次浏览  复制  上一个帖子  下一个帖子  标签: 无 在Nutz中如何配置多个数据库源, ...

  5. 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档)

    计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档) 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档) 本源码技术栈: 项目架构:B/S架构 ...

  6. 计算机毕业设计Java心理健康管理系统(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java心理健康管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java心理健康管理系统(源码+系统+mysql数据库+Lw文档) 最新计算机专业原创毕业设计参考选题都 ...

  7. 计算机毕业设计Java后勤管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java后勤管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java后勤管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

  8. 计算机毕业设计Java超市网站(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java超市网站(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java超市网站(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  9. 计算机毕业设计Java个人理财系统(源码+系统+mysql数据库+lW文档)

    计算机毕业设计Java个人理财系统(源码+系统+mysql数据库+lW文档) 计算机毕业设计Java个人理财系统(源码+系统+mysql数据库+lW文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

最新文章

  1. 转载:【菜鸟玩Linux开发】通过MySQL自动同步刷新Redis
  2. 【工具】WPS安卓电脑无广告版
  3. Devexpress报表开发(二):创建数据报表
  4. POJ 2389 Bull Math(水~Java -大数相乘)
  5. c遗传算法的终止条件一般_KDD比赛之遗传算法(举例理解)
  6. 通俗易懂的SpringBoot教程---day2---Springboot配置文件
  7. Spoonwep破解wep加密无线路由密码
  8. CentOS7学习笔记--PHP环境安装
  9. 微型计算机主要特点有哪些,微型计算机的主要特点是什么呢?
  10. 发电机变压器运行状态(温度电压电流)监控系统解决方案
  11. java读取txt文件内容_Java读取TXT文件内容的方法
  12. cad计算机快捷键命令大全,2016cad快捷键命令大全,AutoCAD快捷键命令大全
  13. 一文了解plc编程、电脑编程、手机APP编程、组态编程、云编程(上)
  14. 这有10款好玩游戏,游戏迷速来围观
  15. 思迅软锁安装配置说明
  16. GameMakerStudio2调用外部dll库
  17. Redis的客户端Jedis
  18. 推荐用户体验设计师必读的5本用户体验书籍
  19. java——java删除指定文件或文件夹
  20. 解析木马攻击与防御发展简史

热门文章

  1. 用wvdial和ppp轻松上网
  2. 【Java】进制转换
  3. strace命令解析
  4. 如何在cv2窗口图像上写字_Python for opencv 之 显示图像及在图像上书写文字
  5. Element UI Table表格样式调整
  6. 一键解决PPT的动画播放和动画排序问题!
  7. Oracle11g下载地址
  8. 图像检索:OPQ索引与HNSW索引
  9. 文件服务器文件夹,共享文件夹及权限迁移
  10. XMLElement,XMLDocument 用法