Spring Boot 2.1.1.RELEASE 多数据源配置与使用

有时候,一个系统的功能,需要两个或两个以上的数据库,

在Spring Boot 中要如何配置? How to?

#primary
primary.spring.datasource.jdbc-url=jdbc:mysql://localhost:3316/test1
primary.spring.datasource.username=root
primary.spring.datasource.password=root
primary.spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver


#secondary
secondary.spring.datasource.jdbc-url=jdbc:mysql://localhost:3316/test2
secondary.spring.datasource.username=root
secondary.spring.datasource.password=root
secondary.spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

 

新建一个类DataSourceConfig

@Configuration
public class DataSourceConfig {

    @Bean(name = "primaryDataSource")
    @Qualifier("primaryDataSource")
    @Primary
    @ConfigurationProperties(prefix="primary.spring.datasource")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "secondaryDataSource")
    @Qualifier("secondaryDataSource")
    @ConfigurationProperties(prefix="secondary.spring.datasource")
    public DataSource secondaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "primaryJdbcTemplate")
    public JdbcTemplate primaryJdbcTemplate(@Qualifier("primaryDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean(name = "secondaryJdbcTemplate")
    public JdbcTemplate secondaryJdbcTemplate(@Qualifier("secondaryDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}

 

 

之后在运用的时候,注意@Qualifier

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class ApplicationTests {

    @Autowired
    @Qualifier("primaryJdbcTemplate")
    protected JdbcTemplate jdbcTemplate1;

    @Autowired
    @Qualifier("secondaryJdbcTemplate")
    protected JdbcTemplate jdbcTemplate2;

    @Before
    public void setUp() {
        jdbcTemplate1.update("DELETE  FROM  USER ");
        jdbcTemplate2.update("DELETE  FROM  USER ");
    }

    @Test
    public void test() throws Exception {

        // 往第一个数据源中插入两条数据
        jdbcTemplate1.update("insert into user(id,name,age) values(?, ?, ?)", 1, "aaa", 20);
        jdbcTemplate1.update("insert into user(id,name,age) values(?, ?, ?)", 2, "bbb", 30);
}}

 

 

java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.

修改application.xml中的数据库的url, 用spring.datasource.jdbc-url,而不是通常使用的spring.datasource.url。 

 

之前用的如下截图,总是报错

 

转载于:https://www.cnblogs.com/qianjinyan/p/10185067.html

记录:dynamic-datasource Please check the setting of primary...【解决方案】 一、前言: 我是配置多数据源的时候出现如下报错: java.lang.RuntimeException: dynamic-datasource Please check the setting of primary 二、环境说明: 我项目配置使用的是: jdk1.8 springboot 2.3.1.RELEASE dynamic-datasource-spring-boot-starter 3.2.0 ... ... 报错具体如下,大家请看。 三、报错截图: .. 阅读详情

相关推荐

Spring Boot入门(20):使用Mybatis-plus实现Spring Boot多数据源配置,轻松实现数据库读写分离!

如何实现多数据源配置及项目使用,此文教会你,超级简单,开箱即用。

**My Coding Family** 2万+

springboot2.1.1.RELEASE多数据源(mybatis)

springboot 2.1.1.RELEASE版本mybatis多数据配置 springboot2.x多数据配置

spring boot 2.1学习笔记【十】SpringBoot 2 集成redis多数据源

spring boot 2.1 集成 redis 多数据源

刘本龙的专栏 5152

Springboot 2.1.0.RELEASE版本 + activiti 5.22.0版本 + mysql 代码整合真实案例,绝对能跑得起来

Springboot 2.1.0.RELEASE版本 + activiti 5.22.0版本 + mysql 代码整合真实案例,绝对能跑得起来

SpringBoot 2学习笔记】《十一》SpringBoot2配置多数据源访问数据库

官方说明:Spring Boot 2.X 版本不再支持配置继承,多数据源的话每个数据源的所有配置都需要单独配置,否则配置不会生效。所以需要单独配置多个数据源的配置项。这里需要注意的是多个数据源的配置区分是要在druid后面。 下面以一个项目中连接两个不同数据库实例中来演示MyBatis 配置多数据源11.1 POM文件配置 添加POM依赖。 <?xml version="1.0"?&gt...

黑白猿的琐碎日常 2万+

SpringBoot 2 MyBatis Druid 多数据源(二)

SpringBoot 2 MyBatis Druid 多数据源(二) 建库建表等准备请看:https://blog.csdn.net/liwenyang1992/article/details/120311490 Druid使用文档:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 (关注 32. 如何在 Spring Boot配置数据库密码加密?) Druid加密指导:https://github.co

liwenyang1992的专栏 350

Springboot 2.1.1.RELEASE 配置多数据源

Springboot 2.1.1.RELEASE 配置多数据源代码配置application.propertiesDataSourceConfigPrimaryConfigSecondaryConfig 代码配置 application.properties spring.datasource.primary.jdbc-url=jdbc:oracle:thin:@127.0.0.1:1521:te...

mimaqingyizhi的博客 352

手把手教你用springboot配置多数据源

1.文件结构: 2.pom: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave...

lyy的博客 12万+

release版本 数据溢出_Spring Boot 1.0&&2.0 + Mybatis 多数据源配置使用

环境说明Spring Boot 1.5.17.RELEASESpring Boot 2.1.0.RELEASEMySQL v5.6.19PostgreSQL v10.4无特殊说明,以下所说的环境均指 Spring Boot 2.1.0.RELEASE,如果使用的是 Spring Boot 1.5.17.RELEASE 这个版本,只需要调整下面有做说明的几处地方连接配置在application...

weixin_39790760的博客 64

springboot集成mybatis plus和dynamic-datasource的注意事项

springboot集成mybatis plus 和 dynamic-datasource的注意事项环境注意事项 环境 spring-boot-starter-parent 1.5.2.RELEASE mybatis-plus-boot-starter 2.x dynamic-datasource-spring-boot-starter 2.5.0 druid-spring-boot-start...

juzhenxing的博客 9378

【填坑手记】SpringBoot1.5升级到了2.0.6.RELEASE那些事

最近要将原来的项目注册中心由Euraka换成nacos,首先,首先SpringBoot的版本要进行升级,将版本由1.5升级到了2.0.6.RELEASE, 但是遇到了很多不兼容的问题,于是开始填坑之旅。

Aldeo 997

java 多数据源处理_5分钟学会springboot整合多数据源解决分布式事务

一、前言springboot整合多数据源解决分布式事务。1.多数据源采用分包策略2.全局分布式事务管理:jta-atomikos。在此记录下,分享给大家。二、springboot整合多数据源解决分布式事务​1、pom文件 依赖引入org.springframework.bootspring-boot-starter-parent2.1.8.RELEASEorg.springframework.bo...

weixin_31240035的博客 504

spring-data-commons-1.6.2.RELEASE.jar

spring-data-commons-1.6.2.RELEASE.jar

Spring BootJdbcTemplate多数据源配置

定义OrderService接口:​​​​​​​/** * 创建订单 * @param order 订单信息 * @return 记录数 */ int save(Order order);/** * 保存到指定库 * @param order 订单信息 * @param jdbcTemplate jdbc * @return */ int save(Order order, JdbcTemplate jdbcTemplate);接口实现:​​​​​​​} }}

sandy_3118的博客 1296

SpringBoot2.x系列教程(五十一)Spring BootJdbcTemplate多数据源配置

在《Spring BootJdbcTemplate源码分析》中我们讲解了自动配置相关的源代码实现。基于Spring Boot自动配置默认配置的组件,我们可以来自定义JdbcTemplate的实例化。而多数据源配置就是在此基础上实例化多个数据源和JdbcTemplate。 下面,我们来看具体的源代码实现。 依赖类库 关于依赖类库集成JdbcTemplate时的一样,Spring Boot版本2...

程序新视界 1680

spring-boot 2.3.3.RELEASE 整合oracle、mysql多数据源

pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven

ylm-sigmund 864

SpringBoot配置JPA多数据源

SpringBoot版本 不同的版本其配置方式可能有所区别,我采用的是SpringBoot2.0.4.RELEASE多数据源配置 application.yml配置如下: spring: application: name: test jpa: hibernate: ddl-auto: update show-sql: true datasour...

在下的博客 8238
上一篇: ES6 class 技术点拾遗
下一篇: SSH隧道
weixin_34062329
博客等级 码龄11年 5414粉丝 140原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值