JDBC连接MySQL Loading class `com.mysql.jdbc.Driver'. This is deprecated
今天使用JDBC连接数据库出现了问题
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.
查阅相关资料以后,发现是JDBC驱动包名引发的问题。之前看视频学习时,老师用的是5.x版本的jar包,我使用8.x版本的jar包报出了这个错误。
5.X版本的jar包对应的注册驱动语句为:
Class.forName("com.mysql.jdbc.Driver");
8.X版本的jar包对应的注册驱动语句为:
Class.forName("com.mysql.cj.jdbc.Driver");
(看出区别了吗?相比原来添加了一个.cj)
修改之后就可以运行了
贴一下样例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Demo01 { public static void main(String[] args) throws Exception { //1、注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); //2、获取数据库连接对象 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db10", "root", "123456"); //3、获取执行sql语句 Statement stat = conn.createStatement(); //4、执行sql语句 int i = stat.executeUpdate("insert into user values(1, 'tom', 18)"); System.out.println(i); System.out.println("添加成功"); //5、释放资源 stat.close(); conn.close(); } }