正在加载类“com.mysql.jdbc.driver”这是不赞成的新的驱动程序类是“com.mysql.cj.jdbc.driver”

oalqel3c  于 2021-06-20  发布在  Mysql
关注(0)|答案(21)|浏览(745)

这是我在控制台得到的警告,我与这个警告混淆了:

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.
7qhs6swi

7qhs6swi1#

将orm配置文件中的驱动程序属性从

<property name="driver" value="com.mysql.jdbc.Driver"/>

<property name="driver" value="com.mysql.cj.jdbc.Driver"/>

这将解决警告:-)

elcex8rz

elcex8rz2#

通过将驱动程序名从“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"/>

7cjasjjr

7cjasjjr3#

我正在使用eclipse并在meta\u inf/context.xml中定义mysql连接池。其部分内容是:

<Context>
  <Resource name="..." 
    driverClassName="com.mysql.jdbc.Driver" 
    ... />
</Context>

当我把以“driverclassname”开头的行改为如下时,问题就消失了。

driverClassName="com.mysql.cj.jdbc.Driver"
at0kjp5o

at0kjp5o4#

驱动程序是通过spi自动注册的,通常不需要手动加载驱动程序类。只需更改“com.mysql.cj.jdbc.driver”

jfewjypa

jfewjypa5#

在我的例子中,我有一个line class.forname(“com.mysql.jdbc.driver”);删除这行代码后,如果您有任何一行代码可以加载“com.mysql.jdbc.driver”,那么删除它就不需要更多了

8hhllhi2

8hhllhi26#

这是因为要连接的mysql版本低于mysql驱动程序的版本。很多人都说com.mysql.jdbc.driver改为com.mysql.cj.jdbc.driver,虽然这不能解决问题,但也应该引起注意。

njthzxwz

njthzxwz7#

以我的经验。我在使用jsp进行web应用。当时我使用mysql 5和mysql connecter jar 8。所以由于版本问题,我面临这种问题。我通过将mysql连接器jar文件替换为mysql的确切版本来解决这个问题。

brqmpdu1

brqmpdu18#

如果在带有新mysql连接器的配置单元中看到此消息 8.x (mysql元存储)
打开 hive-site.xml 和变化:

<property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
   </property>

<property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.cj.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
   </property>
dl5txlt9

dl5txlt99#

我的解决方案:org.springframework.boot2.0.5.release
而是:org.springframework.boot2.1.0.release

ccgok5k5

ccgok5k510#

如果您直接使用log4jdbc spring boot starter库,也会出现此警告。
然而,有一个配置来选择正确的驱动程序自己。把这个放进你的口袋里 application.properties :

log4jdbc.drivers=com.mysql.cj.jdbc.Driver
log4jdbc.auto.load.popular.drivers=false

请参阅github上的文档

tvmytwxo

tvmytwxo11#

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

yfwxisqw

yfwxisqw12#

如果您使用的是hibernate,请在“hibernate.cfg.xml”中更改以下内容:

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

收件人:

<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>

应该是:)

ocebsuys

ocebsuys13#

根据connector/japi中的更改“mysql connector/j中实现java.sql.driver的类的名称已从com.mysql.jdbc.driver更改为com.mysql.cj.jdbc.driver。旧类名已被弃用。“
这意味着您只需更改驱动程序的名称:

Class.forName("com.mysql.jdbc.Driver");

Class.forName("com.mysql.cj.jdbc.Driver");
pwuypxnk

pwuypxnk14#

工作示例:

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_db_name?autoReconnect=true&useSSL=false", "root", "root");

像这样打电话会有用的。

wlzqhblo

wlzqhblo15#

如果使用基于yml文件的配置,则需要在给定文件内调整以下属性: *driverClassName: com.mysql.cj.jdbc.Driver*

相关问题