mysql数据库表名默认小写问题

  • jpa生成的sql语句表名是小写,但是实际表中是大写,配置@Table(“TABLE_NAME”)生成的sql仍然还是小写,造成sql执行出现表不存在异常
  • 解决:
    1. 使用小写的数据库表名,这是mysql数据库推荐的形式。
    2. 在spring配置文件或java环境变量设置:
      1. spring.jpa.properties.lower_case_table_names: 0
      2. //环境变量 lower_case_table_names: 0

时间类型映射

  • jpa使用between查询timestamp类型发现查询到数据和直接在sql窗口执行结果不一致,后面发现由于时区问题导致,处理1.数据库改为GMT+8,2,spring默认时区改为:spring:jackson: time-zone: GMT+8 3. 连接串增加&serverTimezone=GMT%2b8

查询乱码问题

  • 连接串增加&useUnicode=true&characterEncoding=UTF-8,数据库及表格式改为UTF-8