springboot数据源不正确_springboot多个数据源

1、启动两个mysql,可以按照如下操作使用docker来部署mysql容器,比较简单

2、如果配置了多个数据源,则默认的数据源配置就不再生效了,如果配置两个数据源,则两个数据都需要自定义,找到javax.sql.DataSource接口,F4查看其实现类

7a543c2cfcaa843ed95efddc7aa7bd84.png

单数据源使用自动配置时的配置

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://192.168.101.116:3306/myapp001?useSSL=false

spring.datasource.username=root

spring.datasource.password=12345spring.datasource.hikari.maximum-pool-size=20

3、我们使用的为HikariCP连接池,所以需要实例化HikariDataSource,进入到该类源码中,发现其继承了HikariConfig,进入HikariConfig,可以看到一些很熟悉的属性,不过当前测试时指挥使用到一些简单配置

7b4604a4207b6ada5d8b8bd035138b4a.png

通过https://www.cnblogs.com/qq931399960/p/11523723.html了解到,springboot可以通过@ConfigurationProperties注解批量的把参数注入到实体类中,所以我们就可以定义自己的数据源了

多个数据源配置及测试

为了方便测试,注入数据源后,使用JdbcTemplate来操作数据库

端口3306的myapp001数据库中,user表存在三条数据

mysql>use myapp001;

Database changed

mysql> select *from user;+------+------+

| id | name |

+------+------+

| 1 | aa |

| 2 | bb |

| 3 | cc |

+------+------+

3 rows in set (0.04 sec)

端口3307的myapp002数据库中,uer表数据为空

mysql>use myapp002;

Database changed

mysql> select *from user;

Empty set (0.02 sec)

1、配置数据源

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.jdbc-url=jdbc:mysql://192.168.101.116:3306/myapp001?useSSL=false

spring.datasource.username=root

spring.datasource.password=12345spring.datasource.maximum-pool-size=30spring.datasource.app.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.app.jdbc-url=jdbc:mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值