0
点赞
收藏
分享

微信扫一扫

SpringBoot缓存相关问题

慕容冲_a4b8 2022-03-12 阅读 34



缓存相关问题异常解决


  • ​​框架注解​​
  • ​​MyBatis与MySQL版本​​
  • ​​MySQL时区​​


框架注解

  • 在写代码时,特别是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为新版本即可
  • 总结:
    SpringBoot缓存相关问题_mysql

MySQL时区

  • 在配置了mysql 8的数据库时,运行项目会出现异常:
The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

  • 因为新版MySQL用了统一的时区管理,时区一致便与维护 ,避免PDT时区换算出错
  • 解决办法:
  • ​spring.datasource.url=jdbc:mysql://localhost:3306/spring_cache?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC ​
  • 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)
  • 在mysql中设置时区:set global time_zone=’+8:00’


举报

相关推荐

0 条评论