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.
服务器的时区价值”йʱ”无法识别或代表多个时区。如果想利用时区支持,必须配置服务器或JDBC驱动程序(通过“serverTimezone”配置属性)以使用更特殊的时区值。
)
想要逆向生成文件,可是一直报这个错误
环境:
- MySQL 8.0.21
- Java 1.8
1、application.properties配置
百度说jdbc6版本以上的加 serverTimezone=UTC ,进行时区转换,我照着加了
// application.properties
spring.datasource.url = jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
2、BaseDao配置
// BaseDao
public class BaseDao {
// 版本5
// private String driver="com.mysql.jdbc.Driver";
// 版本8
private String driver="com.mysql.cj.jdbc.Driver";
private String url="jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
private String user="root";
private String pwd="xxxxxx";
public static Connection con=null;
public static PreparedStatement pst =null;
public static ResultSet rs = null;
3、mybatis-generator.xml配置
// mybatis-generator.xml
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/xxx" userId="root" password="xxxxxx">
</jdbcConnection>
总结
1、mysql与驱动的版本号不匹配;
2、升级mysql或驱动版本即可;
3、升级后修改配置文件,新版本的需要加时区配置(serverTimezone=UTC);