框架注解
- 在写代码时,特别是SpringMVC框架下的代码,在dao层,service层,controller层,开始写代码时,一定要先在类上加@注解,切记不能再犯这个小错误.
MyBatis与MySQL版本
在使用MyBatis框架连接数据库时,运行程序出现如下异常:
java.sql.SQLException: Unknown system variable
原因
mysql-connecter-java的版本过低,很显然是数据库驱动程序与数据库版本不对应. query cache在MySQL5.7.20就已经过时了,而在MySQL8.0之后就已经被移除了.
解决办法
如 mybatis使用 mysql-5.1.14的驱动程序,而mybatis配置的数据源连接的是 mysql-8.0.11,修改 pom文件中mysql-connector-java为新版本即可
总结:
MySQL时区
在配置了mysql 8的数据库时,运行项目会出现异常:
The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone.
因为新版MySQL用了统一的时区管理,时区一致便与维护 ,避免PDT时区换算出错
解决办法:
在配置文件的spring.datasource.url 添加字段serverTimezone=UTC(解决时区问题)和useUnicode=true&characterEncoding=UTF-8(解决乱码问题)
spring.datasource.url=jdbc:mysql://localhost:3306/spring_cache?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
在mysql中设置时区:set global time_zone='+8:00'
mysql> show variables like '%time_zone%';
+------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | | | time_zone | +08:00 | +------------------+--------+ 2 rows in set, 1 warning (0.00 sec)
mysql> set global time_zone='+8:00'; Query OK, 0 rows affected (0.00 sec)