网上很多文章都是 7. X 甚至 5. X 写的,然而 mysql 在 8.0 的时候有一次比较大的更新,造成了一些差异:

1, 不用显式导入驱动

不需要使用下述代码手动导入驱动:

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

这其实是因为 JDK 1.6 引入了 JDBC 4,会自动加载驱动类。

2, SQL 语法差异

groups 变成了关键字,如果有一个键叫这个名字,需要用反引号包裹起来,比如:

SELECT groups,name,password FROM userlist WHERE name = "Admin", password="123456";

需要变更为

SELECT `groups`,name,password FROM userlist WHERE name = "Admin", password="123456";

或者可以更进一步,用反引号包裹所有键名。