jdbc驱动版本问题报错
出错代码位置
//加载JDBC驱动,映射
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接Connection
String url="jdbc:mysql://localhost:3306/ecommerceplatform";//数据库地址
String uname="root";//数据库用户名
String password="rootroot";//数据库密码
Connection conn = DriverManager.getConnection(url, uname, password);
//写SQL语句,查询
String sql="select * from t_user where username=? and 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.
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘?й???’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone value if you want to utilize time zone support.
解决方案
该报错信息是提示mysql版本驱动过旧
1.先将老版本驱动“com.mysql.jdbc.Driver”更改为新版驱动“com.mysql.cj.jdbc.Driver”.
2.在要运行的数据库地址末尾添加代码:?serverTimezone=UTC(注意大小 写必须一致)
或者
在mysql中设置时区,默认为SYSTEM(推荐)
set global time_zone=’+8:00’
mysql> set global time_zone='+8:00';
Query OK, 0 rows affected (0.01 sec)
运行结果
查询成功,没有再报错了