这是我在控制台得到的警告,我与这个警告混淆了:
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条答案
按热度按时间1wnzp6jl1#
通过将驱动程序名从“com.mysql.jdbc.driver”更改为“com.mysql.cj.jdbc.driver”,可以解决这个问题。
如果是简单的jdbc连接:
Class.forName("com.mysql.cj.jdbc.Driver");
在休眠的情况下:<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
csbfibhn2#
这是因为要连接的mysql版本低于mysql驱动程序的版本。很多人都说com.mysql.jdbc.driver改为com.mysql.cj.jdbc.driver,虽然这不能解决问题,但也应该引起注意。
ve7v8dk23#
以我的经验。我在使用jsp进行web应用。当时我使用mysql 5和mysql connecter jar 8。所以由于版本问题,我面临这种问题。我通过将mysql连接器jar文件替换为mysql的确切版本来解决这个问题。
kb5ga3dv4#
如果使用基于yml文件的配置,则需要在给定文件内调整以下属性:
*driverClassName: com.mysql.cj.jdbc.Driver*
bmvo0sr55#
驱动程序是通过spi自动注册的,通常不需要手动加载驱动程序类。只需更改“com.mysql.cj.jdbc.driver”
n1bvdmb66#
如果您直接使用log4jdbc spring boot starter库,也会出现此警告。
然而,有一个配置来选择正确的驱动程序自己。把这个放进你的口袋里
application.properties
:请参阅github上的文档
42fyovps7#
如果你有这个
application.properties
:spring.datasource.driverClassName=com.mysql.jdbc.Driver
,你可以去掉那一行来消除错误。
pod7payv8#
根据connector/japi中的更改“mysql connector/j中实现java.sql.driver的类的名称已从com.mysql.jdbc.driver更改为com.mysql.cj.jdbc.driver。旧类名已被弃用。“
这意味着您只需更改驱动程序的名称:
到
oogrdqng9#
句子“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之间的区别?。
qxgroojn10#
我的解决方案:org.springframework.boot2.0.5.release
而是:org.springframework.boot2.1.0.release
ohtdti5x11#
删除这部分就行了
Class.forName("com.mysql.jdbc.Driver")
从你的代码因为机器发出警告
驱动程序通过spi自动注册,通常不需要手动加载驱动程序类。”
这意味着不需要包含它,因为默认情况下驱动程序会自动为您注册。
1rhkuytd12#
将application.conf文件更改如下。它解决了问题。
变更前:
变更后:
0s0u357o13#
connector/j api从5.1版到8.0版有一些重要的变化。如果使用的版本高于5.1,则可能需要相应地调整api调用。
有关更多信息,请访问mysql的以下链接https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html
iqxoj9l914#
将orm配置文件中的驱动程序属性从
到
这将解决警告:-)
txu3uszq15#
工作示例:
像这样打电话会有用的。