今天使用spring boot配置两个数据源,出现了问题。
使用数据源配置
app.dataource.url=jdbc:mysql://localhost/test
app.datasource.username=dbuser
app.datasource.password=dbpass
app.datasource.driverClassName=com.mysql.cj.jdbc.Driver
上网搜了一下,结果是使用app.datasource.url的锅。
spring.datasource.url 数据库的 JDBC URL。
spring.datasource.jdbc-url 用来创建连接的 JDBC URL。
官方文档的解释是:
因为连接池的实际类型没有被公开,所以在您的自定义数据源的元数据中没有生成密钥,而且在IDE中没有完成(因为DataSource接口没有暴露属性)。另外,如果您碰巧在类路径上有Hikari,那么这个基本设置就不起作用了,因为Hikari没有url属性(但是确实有一个jdbcUrl属性)。在这种情况下,您必须重写您的配置如下:
app.datasource.jdbc-url=jdbc:mysql://localhost/test
app.datasource.username=dbuser
app.datasource.password=dbpass