2018/05/19
今天尝试用eclipse连接MySQL数据库,网上查找的资料都是很老的,采用时各种报错。最新连接方法中注意事项,总结如下:
1. 加载驱动
老版的驱动加载:Class.forName("com.mysql.jdbc.Driver");
新版的驱动加载:Class.forName("com.mysql.cj.jdbc.Driver");
2. 数据库连接
老版本:
String URL = "jdbc:mysql://localhost:3306/db_test";
Connection conn;
try {
conn = DriverManager.getConnection(URL, "root", "...");
System.out.println("数据库连接成功");
} catch (SQLException e) {
System.out.println("数据库连接失败");
e.printStackTrace();
}
新版本:
String URL = "jdbc:mysql://localhost:3306/db_test?&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false";
Connection conn;
try {
conn = DriverManager.getConnection(URL, "root", "...");
System.out.println("数据库连接成功");
} catch (SQLException e) {
System.out.println("数据库连接失败");
e.printStackTrace();
}
有一点要特别强调,我也是在这里扎根头的。网上绝大多数资料,URL是这样的:"......数据库名?serverTImezone=UTC......",但是总是抛异常。正当我不知所措的时候,我无意中修改了一下该URL,修改后如下:"......数据库名?&serverTImezone=UTC......",数据库居然连接成功。
神奇。
2019/01/16
羞耻的博客。。。
其实就是JDBC版本太新了,换旧版本就可以不用写时区。