一、配置文件
pom.xm

 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.48</version><scope>runtime</scope>
</dependency>

application.yml

spring:application:name: double-datasource-mybatis-jdbcprofiles:active: devjackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8server:port: 8008mybatis:#mapper-locations: classpath*:mapper/*.xmltype-aliases-package: com.mk.entity.*  # 注意:对应实体类的路径configuration:map-underscore-to-camel-case: truesys:one-mybatis:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.1.2:3307/testdb01?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername: rootpassword: admin123druid:initial-size: 10max-active: 100min-idle: 10max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: SELECT 1 FROM DUALtest-while-idle: truetest-on-borrow: falsetest-on-return: falsefilter:stat:log-slow-sql: trueslow-sql-millis: 1000merge-sql: trueenabled: truewall:config:multi-statement-allow: truestat-view-servlet:enabled: falsetwo-jdbc:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.1.2:3307/testdb02?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername: rootpassword: admin123druid:initial-size: 10max-active: 100min-idle: 10max-wait: 60000pool-prepared-statements: truemax-pool-prepared-statement-per-connection-size: 20time-between-eviction-runs-millis: 60000min-evictable-idle-time-millis: 300000validation-query: SELECT 1 FROM DUALtest-while-idle: truetest-on-borrow: falsetest-on-return: falsefilter:stat:log-slow-sql: trueslow-sql-millis: 1000merge-sql: trueenabled: truewall:config:multi-statement-allow: truestat-view-servlet:enabled: false

二、配置Configuration Bean

(1)第一个Mybatis数据源配置(主)

public class MybatisDataSourceConfig {@Primary@Bean@ConfigurationProperties(prefix = "sys.one-mybatis.datasource")public DataSourceProperties oneDataSourceProperties() {return new DataSourceProperties();}@Primary@Beanpublic DataSource oneDataSource(@Qualifier("oneDataSourceProperties") DataSourceProperties dataSourceProperties) {DataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().build();return dataSource;}@Primary@Bean@ConfigurationProperties(prefix = "mybatis")public MybatisProperties oneMybatisProperties(){return new MybatisProperties();}@Primary@Beanpublic SqlSessionFactoryBean oneSqlSessionFactoryBean(@Qualifier("oneDataSource") DataSource dataSource,@Qualifier("oneMybatisProperties")MybatisProperties mybatisProperties){SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);bean.setMapperLocations(mybatisProperties.resolveMapperLocations());bean.setTypeAliasesPackage(mybatisProperties.getTypeAliasesPackage());bean.setConfigurationProperties(mybatisProperties.getConfigurationProperties());bean.setConfiguration(mybatisProperties.getConfiguration());bean.setConfigLocation(Optional.ofNullable(mybatisProperties.getConfigLocation()).map(location->{try {ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();return resourceResolver.getResource(location);} catch (Exception var3) {return null;}}).orElse(null));return bean;}@Primary@Beanpublic DataSourceTransactionManager oneTransactionManager(@Qualifier("oneDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Primary@Beanpublic SqlSessionTemplate oneSqlSessionTemplate(@Qualifier("oneSqlSessionFactoryBean") SqlSessionFactoryBean sqlSessionFactoryBean) throws Exception{return new SqlSessionTemplate(sqlSessionFactoryBean.getObject());}}

(2)第二个jdbc配置

public class JdbcDataSourceConfig {@Bean@ConfigurationProperties(prefix = "sys.jdbc-two")public DataSourceProperties jdbcDataSourceProperties(){return new DataSourceProperties();}@Beanpublic DataSource jdbcDataSource(@Autowired @Qualifier("jdbcDataSourceProperties") DataSourceProperties dataSourceProperties){DataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().build();return dataSource;}@Beanpublic JdbcTemplate jdbcTemplate(@Autowired @Qualifier("jdbcDataSource") DataSource dataSource){return new JdbcTemplate(dataSource);}@Beanpublic DataSourceTransactionManager twoTransactionManager(@Autowired @Qualifier("jdbcDataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}
}

(3)导入配置

@Configuration
@Import({MybatisDataSourceConfig.class, JdbcDataSourceConfig.class})
public class DataSourceConfig {}

注意:去掉默认自动配置

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, JdbcTemplateAutoConfiguration.class, MybatisAutoConfiguration.class})
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

SpringBoot2.1.9 多数据源Mybatis—JDBC配置相关推荐

  1. SpringBoot2 综合案例(05):定时任务和JDBC多数据源配置

    Spring Boot 2 基础案例篇 包含:入门.日志管理.定时器.事务.AOP.数据库.缓存.NoSQL.监控.打包. Spring Boot 2 高级案例篇 包含:整合常用中间件:分库分表.权限 ...

  2. SpringBoot2.1.9 多数据源JDBC配置

    一.配置文件 pom.xm <dependency><groupId>org.springframework</groupId><artifactId> ...

  3. SpringBoo Mybatis Druid配置多数据源

    SpringBoo Mybatis Druid配置多数据源 前言:当单个数据库无法满足大量读写操作需求的时候,就需要用到多个数据库实现读写分离了.那么,这个时候,就需要去配置多数据源了.那么具体如何配 ...

  4. SpringBoot2/SpringBoot/Java动态数据源配置、动态连接池配置、多数据源负载均衡

    Java动态数据源配置.动态连接池配置.多数据源负载均衡 大家好,今天给大家推荐一个自产的连接池插件.废话不多说,本文接口分为以下主题: 1. 插件开发背景: 2. 插件提供的能力: 3. 插件的使用 ...

  5. mybatis配置mysql数据源_springboot+mybatis+Druid配置多数据源(mysql+postgre)

    springboot+mybatis+Druid配置多数据源(mysql+postgre) 引入pom依赖 org.mybatis.spring.boot mybatis-spring-boot-st ...

  6. mybatis开启log_mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台...

    杂七杂的杂 作为程序员,开发工程中,一套利于测试或者监控的工具很重要,mybatis默认没有提供log4j的打印sql语句的配置. 这对于开发rest服务,提供接口的开发者而言,是在很不好做,再加上m ...

  7. 【教程】Spring+Mybatis环境配置多数据源

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 文章目录 一.简要概述 二.代码详解 2.1 `DataSourceConstants` 数据源常量类 2.2 `Data ...

  8. greenplum mysql jdbc_Kylin设置JDBC配置greenplum数据源

    Kylin设置JDBC配置greenplum数据源 kylin最开始的时候支持hive和kafka作为数据源,从2.3.0版本之后开始支持JDBC作为第第三种数据源.用户可以自定义的数据库或者数据仓库 ...

  9. Kylin设置JDBC配置greenplum数据源

    Kylin设置JDBC配置greenplum数据源 kylin最开始的时候支持hive和kafka作为数据源,从2.3.0版本之后开始支持JDBC作为第第三种数据源.用户可以自定义的数据库或者数据仓库 ...

最新文章

  1. Arduino(新手之路1)
  2. 你不会想到这个购物平台竟然能智能到这种程度
  3. MySQL配置教程(图解版)
  4. Ubuntu21.04 Docker 安装
  5. PAT (Advanced Level) 1007 Maximum Subsequence Sum(最大连续子段和)
  6. figtree需要在JAVA下运行吗_Phylogenomic_Tutorial || ML_Tree inference
  7. lisp如何将度分秒转换为弧度_重磅干货!如何利用Stata进行空间冷热点分析 | 社论前沿...
  8. python和java学哪个好-Python和Java两门编程语言,学习哪个更好?
  9. oracle 存档终点修改,Oracle 归档模式与非归档模式的切换
  10. 数学模型的相关概念及意义等理论内容
  11. 汇编中的inc和dec
  12. 华为鸿蒙系统支持什么手机_华为鸿蒙系统支持的手机型号_鸿蒙系统支持华为哪几款手机...
  13. 标准结构篇:7)塑料齿轮轮系设计总章
  14. Python中字符的匹配
  15. Visual Studio 2008 测试版 2 自述文件
  16. 达人评测 i5 12490f和i7 12700f差距 酷睿i512490f和i712700f对比
  17. python源码编译为库_【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包
  18. **xxchat系统之线程池实时监控方案(Jmx远程后台监控、暂停、启用)
  19. 局部边缘保持滤波(LEP)高动态范围图像HDR压缩 python实现
  20. OpenCV开发笔记(四十八):红胖子8分钟带你深入了解直方图均衡化(图文并茂+浅显易懂+程序源码)

热门文章

  1. java 3des 32位密钥_3des,java_java 中32位秘钥长度的 3des加密方法?,3des,java - phpStudy...
  2. oracle symonym_Oracle的同义词(synonyms)
  3. linux显示内存状态,Linux显示内存状态
  4. java char short区别_java 彻底理解 byte char short int float long double
  5. leetcode76:最小覆盖字串(滑动窗口)
  6. 高等数学下-赵立军-北京大学出版社-题解-练习10.5
  7. UVA - 725 Division-sprintf的妙用
  8. Redis--事务理解
  9. 与php有区别_php://output和php://stdout的区别
  10. 蓝桥杯 迷宫与陷阱 BFS