对于MySQL 8.0,你需要使用的驱动类是com.mysql.cj.jdbc.Driver
,而不是com.mysql.jdbc.Driver
。com.mysql.jdbc.Driver
是MySQL 5.1及之前版本的驱动,而对于MySQL 5.1之后的版本,包括MySQL 8.0,应该使用com.mysql.cj.jdbc.Driver
。
另外,MySQL 8.0还引入了一些新的连接参数,特别是关于时区的设置。如果不设置这些参数,可能会导致连接失败。因此,你的连接字符串应该看起来像这样:
String url = "jdbc:mysql://localhost:3306/db_shop?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC";
所以,你的代码应该修改为:
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String url = "jdbc:mysql://localhost:3306/db_shop?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC";
String user_1 = "root";
String password = "123456";
Connection con = DriverManager.getConnection(url, user_1, password);
请注意,这段代码假设你的MySQL服务器运行在本地(localhost)并使用默认的端口3306,如果不是的话,你需要修改数据库连接字符串中的主机名和端口。你也需要将数据库名称(db_shop)和密码(123456)修改为你自己的数据库的名称和密码。