这是我在控制台得到的警告,我与这个警告混淆了:
Loading class `com.mysql.jdbc.Driver'.
This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
The driver is automatically registered via the SPI and manual loading
of the driver class is generally unnecessary.
21条答案
按热度按时间pxq42qpu16#
cgh8pdjw17#
我通过改变解决了这个问题
application.properties
属于到
希望有帮助
41ik7eoe18#
句子“loading class'com.mysql.jdbc.driver”。这是不赞成的。新的驱动程序类是“com.mysql.cj.jdbc.driver”。您应该使用更新的驱动程序,如下所示:
在mysql-connector-java-8.0.17中。您会发现com.mysql.jdbc.driver类不再提供服务(您还可以从这里找到警告。)
“驱动程序是通过spi自动注册的,通常不需要手动加载驱动程序类。”这意味着编写这样的代码是可以的:
由于spi,驱动程序将自动注册。它是如何工作的?您可以在java.sql.drivermanager中找到:
在mysql-connector-java-.jar中,还可以在meta inf\services中找到文件“java.sql.driver”。文件如下:
运行drivermanager.getconnection()时,静态块也会开始运行。所以驱动程序可以自动注册到文件“java.sql.driver”中。
更多关于spi->spi和api之间的区别?。
56lgkhnf19#
如果你有这个
application.properties
:spring.datasource.driverClassName=com.mysql.jdbc.Driver
,你可以去掉那一行来消除错误。
v09wglhw20#
删除这部分就行了
Class.forName("com.mysql.jdbc.Driver")
从你的代码因为机器发出警告
驱动程序通过spi自动注册,通常不需要手动加载驱动程序类。”
这意味着不需要包含它,因为默认情况下驱动程序会自动为您注册。
beq87vna21#
将application.conf文件更改如下。它解决了问题。
变更前:
变更后: