连接数据库代码:
String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String username = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(url, username, password);
一开始写完上面这几行代码,先报了这个错误:
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.
这个错误就是字面意思,`com.mysql.cj.jdbc.Driver'代替了旧的 `com.mysql.jdbc.Driver',然后这个驱动是自动加载的,所以 Class.forName("com.mysql.jdbc.Driver");这句代码可以直接注释掉。
再运行,又报了下面这个错误:
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc::mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8
上面已经改掉了驱动的错误,所以这里还是无法加载,那就大概率是url的问题了,尝试了网上不同的方法,最后的解决办法是把:
jdbc::mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8
改成
jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8
去掉了jdbc后的一个冒号,上面那行是5.x版本的写法,下面这行才是8.x版本的写法。