jdbcUrl is required with driverClassName(spring boot2.0)多数据源的解决问题

今天使用spring boot配置两个数据源,出现了问题。
提示我:jdbcUrl is required with driverClassName。

结果是使用app.datasource.url的锅。

spring.datasource.url 数据库的 JDBC URL。

spring.datasource.jdbc-url 用来创建连接的 JDBC URL。

官方文档的解释是:

因为连接池的实际类型没有被公开,所以在您的自定义数据源的元数据中没有生成密钥,而且在IDE中没有完成(因为DataSource接口没有暴露属性)。另外,如果您碰巧在类路径上有Hikari,那么这个基本设置就不起作用了,因为Hikari没有url属性(但是确实有一个jdbcUrl属性)。在这种情况下,您必须重写您的配置如下:

正确配置方法

test1.spring.datasource.driverClassName = com.mysql.jdbc.Driver
test1.spring.datasource.jdbc-url = jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8
test1.spring.datasource.username = root
test1.spring.datasource.password = 0806

test2.spring.datasource.driverClassName = com.mysql.jdbc.Driver
test2.spring.datasource.jdbc-url = jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8
test2.spring.datasource.username = root
test2.spring.datasource.password = 0806

猜你喜欢

转载自blog.csdn.net/c_royi/article/details/81346826