补充:后来发现这一切的根源都是mysql驱动包版本惹的祸,6.x.x以上的会报错...
以前用eclipse配置数据库,所以一上来就 直接搬旧的一套,IDEA配置如下:
<dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/chapter3"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource>
但是却有以下两个错误:
1.错误提醒:
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.jdbc.Driver驱动包更改为com.mysql.cj.jdbc.Driver,前者已经被抛弃。
2.错误提醒:Error querying database. Cause: java.sql.SQLException: 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.
解决方法:
这个设计到数据库时区问题,在学校的教材中是没有提及的,我一上来就真踩中了。。。
直接在配置中的url后添加
?serverTimezone=UTC
或者在数据库中执行命令set global time_zone='+8:00'
完整修改如下:
<dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/chapter3?serverTimezone=UTC "/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource>