spring的jdbcTemplate的多数据源的配置,springboot的jdbcTemplate的多数据源的配置
如果想要看springboot配置mybatis的多数据源,请参看本人博客:
https://blog.csdn.net/u013294097/article/details/86274427
1、springboot中配置
案例中使用的数据源是阿里巴巴的druid,其他数据源是一样的
1)创建两个数据源
yml中配置两个不同的前缀的数据源
spring:datasource:#第一个数据源username: rootpassword: rooturl: jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=truedriver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceinitialSize: 5minIdle: 5maxActive: 20maxWait: 60000 timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true#第二个数据源secondary:#第一个数据源username: rootpassword: rooturl: jdbc:mysql://localhost:3306/mysql2?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=truedriver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceinitialSize: 5minIdle: 5maxActive: 20maxWait: 60000 timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true
数据源1:
package com.cyjz.config;import com.alibaba.druid.pool.DruidDataSource;
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 javax.sql.DataSource;@Configuration
public class DataSourceOneConfig {@Bean@ConfigurationProperties(prefix = "spring.datasource")@Primary //设置主数据源1public DataSource dataSource(){return new DruidDataSource();}
}
数据源2:
package com.cyjz.config;import com.alibaba.druid.pool.DruidDataSource;
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 javax.sql.DataSource;@Configuration
public class DataSourceTwoConfig {@Bean(name = "dataSourceTwo")@ConfigurationProperties(prefix = "spring.datasource.secondary")public DataSource DataSourceOne(){return new DruidDataSource();}
}
2)创建一个JdbcTemplate的bean
package com.cyjz.config;import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;import javax.sql.DataSource;@Configuration
public class JDBCTemplate {@Bean(name = "jdbcTemplate")public JdbcTemplate jdbcTemplate(@Qualifier("dataSource") DataSource dataSource){JdbcTemplate jdbcTemplate = new JdbcTemplate();jdbcTemplate.setDataSource(dataSource);return jdbcTemplate;}@Bean(name = "jdbcTemplate2")public JdbcTemplate jdbcTemplate2(@Qualifier("dataSourceTwo") DataSource dataSource){JdbcTemplate jdbcTemplate = new JdbcTemplate();jdbcTemplate.setDataSource(dataSource);return jdbcTemplate;}}
3)调用的时候
@Autowired@Qualifier("jdbcTemplate")private JdbcTemplate jdbcTemplate;@Autowired@Qualifier("jdbcTemplate2")private JdbcTemplate jdbcTemplate2;
注意@Qualifier,引用的就是bean的名字
2.spring项目中配置jdbcTemplate多数据源
1)配置文件:
jdbc.url=jdbc\:mysql\://localhost\:3306/mysql?useUnicode\=true&characterEncoding\=utf8&autoReconnect\=true&useSSL\=false
jdbc.username=root
jdbc.password=mysql
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc2.url=jdbc\:mysql\://localhost\:3306/mysql?useUnicode\=true&characterEncoding\=utf8&autoReconnect\=true&useSSL\=false
jdbc2.username=root
jdbc2.password=mysql
jdbc2.driverClassName=com.mysql.jdbc.Driver
2)spring的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"><!-- 加载config下面的jdbc.properties文件 --><context:property-placeholder location="classpath:config/jdbc.properties" /><!-- 配置多数据源1DataSource --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource#DruidDataSource()"><property name="driver" value="${jdbc.driverName}"/><property name="driverUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><!-- 配置多数据源sdconddataSource --><bean id="seconddataSource" class="com.alibaba.druid.pool.DruidDataSource#DruidDataSource()"><property name="driver" value="${jdbc2.driverName}"/><property name="driverUrl" value="${jdbc2.url}"/><property name="user" value="${jdbc2.username}"/><property name="password" value="${jdbc2.password}"/></bean><!-- jdbc关联数据源 --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/></bean><bean id="jdbcTemplate2" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="seconddataSource"/></bean></beans>
3)调用同springboot
如果觉得本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行随意打赏。您的支持将鼓励我继续创作
spring的jdbcTemplate的多数据源的配置,springboot的jdbcTemplate的多数据源的配置相关推荐
- spring-mybatis.xml 访问html5,Spring mvc无xml配置及利用JdbcTemplate访问数据库
项目结构 一.新建动态web项目取名HelloSpringMVC 二./WebContent/WEB-INF/lib下导入必要依赖库 commons-collections4-4.1.jar.comm ...
- Spring Boot 入门系列(二十三)整合Mybatis,实现多数据源配置!
d之前介绍了Spring Boot 整合mybatis 使用注解方式配置的方式实现增删改查以及一些复杂自定义的sql 语句 .想必大家对spring boot 项目中,如何使用mybatis 有了一定 ...
- springboot mybatisplus 多数据源_【SpringBoot DB 系列】MybatisPlus 多数据源配置
[SpringBoot DB 系列]Mybatis-Plus 多数据源配置 前面介绍了两种 Mybatis 的数据源配置,当然也少不了 mybatis-plus MyBatis-Plus (opens ...
- 基于springboot和mybatis的多数据源配置
基于springboot和mybatis的多数据源配置 1.首先新建一个springboot项目,项目结构如下: 引入mybatis和mysql依赖: <dependency><gr ...
- springboot使用druid配置多数据源和jdbctemplate写业务
背景:现在的项目大多数都是多数据源 pom依赖 使用spring-boot-starter-data-jdbc去写业务.druid-spring-boot-starter配置多数源 <depen ...
- Springboot整合Quartz集群部署以及配置Druid数据源
参考链接: https://blog.csdn.net/wangmx1993328/article/details/105441308 https://blog.csdn.net/qq_3966905 ...
- Spring boot 实战指南(二):Mybatis、动态绑定、多数据源、分页插件、Mybatis-Plus
文章目录 一.整合Mybatis 1.搭建数据库环境 2.基于注解整合Mybatis (1)创建项目 (2)具体代码实现 (3)测试 3.基于xml整合Mybatis 4.Mybatis的动态SQL ...
- Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos
Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...
- Springboot 从数据库读取数据库配置信息,动态切换多数据源 最详细实战教程
以前写过一篇教程,Springboot AOP方式切换多数据源(主从两库类似情况使用最佳): https://blog.csdn.net/qq_35387940/article/details/100 ...
最新文章
- Zencart获取PayPal PDT Token参数教程方法
- 每日一皮:前程序员离职后没人想接的代码...
- 进程(process)和线程(thread)
- Xcode8.0 去除控制台多余打印
- Loadrunner学习笔记(二)
- mysql 8 强制修改密码_Mysql 8.0版本强制无密码进入+更改密码
- win10壁纸不能幻灯片放映_有个性,做不同,10分钟让你的Win10酷起来!
- Matlab二维曲线之plot函数
- Python局域网内搭建文件共享服务器 上传文件
- wordpress不同角色显示不同的菜单栏
- 谈 DevOps 自动化时,也应该考虑到 SOX 等法案
- 一文读懂Apache Kylin(麒麟)
- IDEA里面的各种小图标
- 裸辞3个月,空白期啥都没干,怎么办?
- PDR (Pedestrian Dead Reckoning)行人航位推算基本原理及实现
- Paper:自动驾驶领域SAE标准之《道路机动车辆驾驶自动化系统相关术语的分类和定义》官方英文原文翻译与解读(二)
- 深入理解C#中var关键字的用法
- android Retrofit下载图片
- linux内核学习的屠龙刀、倚天剑(需要搭配硬件调试环境)
- 7. 内部集成电路总线接口I²C
热门文章
- Python numpy基础知识
- Oracle的体系结构
- css3光束_html+css3实现3d光线照射文字特效
- MathType 在Word中的应用
- Linux学习总结(74)——wget 命令详解
- PHP学习总结(9)——PHP入门篇之WAMPServer服务控制面板介绍
- 大datatable 内存一直涨_听说你的爬虫一直在整站里循环绕圈圈爬取重复的数据?...
- mac bash file密码_MAC 常用命令汇总
- centos7 部署elasticsearch
- 实时导出正在运行的虚拟机或检查点