框架注解
- 在写代码时,特别是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 | : |
------------------ --------
rows in set, warning (. sec)
mysql> set global time_zone=' :';
Query OK, rows affected (. sec)