当前位置: 首页 > news >正文

spring boot 2.x 使用 jpa 映射 json mysql列数据映射乱码

通过下面的依赖,可以将 mysql 的 json 列字段(mysql 5.7及以上的版本支持),映射成 Java Bean

            <dependency><groupId>com.vladmihalcea</groupId><artifactId>hibernate-types-52</artifactId><version>2.14.0</version></dependency>

https://github.com/vladmihalcea/hypersistence-utils

在 Class + Field上加下下面的注解:

@Table(name = "test_job_meta")
@Data
@Entity
@TypeDef(name = "json", typeClass = JsonType.class)
public class MerlionJobMeta {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id", insertable = false, nullable = false)private Long id;@Column(name = "job_name")private String jobName;@Type(type = "json")@Column(name = "json_string", columnDefinition = "json")private ScheduleBasedJob jsonString;@Column(name = "create_time")private Timestamp createTime;@Column(name = "update_time")private Timestamp updateTime;}

如果出现 mysql 里面的 json 字段值是中文编码正常的,但经过映射之后就乱码了,有两种解决思路:

总则:在保证整条链路上的 读写侧 + 数据库编码都为 utf-8 的前提下,使用下面的调整方案即可

1,修改 mysql 列为 text 类型,低于 mysql 5.7 版本不支持 json 类型

2,升级 mysql 驱动 jar 的版本,升级 jdbc 驱动 jar 版本大于 5.7

            <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency>

http://www.lryc.cn/news/108104.html

相关文章:

  • 创建Helm脚本
  • 2.05 购物车后台刷新并显示
  • 2023年第四届“华数杯”数学建模思路 - 案例:异常检测
  • inline的盒子设置transform不生效
  • 自然语言处理学习笔记(四)————词典分词
  • jsoncpp库和nlohmann-json库实现JSON与字符串类型转换
  • 20230803 函数传参引用
  • IDEA SpringBoot项目引入外部jar并打包
  • ModaHub魔搭社区——阿里云通义千问宣布开源!70亿参数模型上线魔搭社区,免费可商用
  • Jenkins 自动化部署实例讲解,另附安装教程!
  • arcgis字段计算器
  • 数据结构: 线性表(无哨兵位单链表实现)
  • Exploring the Underlying Architecture of CSS3
  • 方差分析||判断数据是否符合正态分布
  • java linq多字段排序时间比较
  • 【c++】rand()随机函数的应用(二)——舒尔特方格数字的生成
  • “深入剖析JVM内部机制:探索Java虚拟机的运行原理“
  • pandas 新增数据列的几种方式
  • linux_驱动_iic总线获取si7006温湿度
  • 虚拟机网络图标不见了
  • CTF:信息泄露.(CTFHub靶场环境)
  • Redis学习总结
  • 云原生全栈体系(二)
  • C++设计模式之建造者设计模式
  • HDFS Erasure coding-纠删码介绍和原理
  • STM32 DHT11
  • 词法分析器
  • 【Spring】Spring之启动过程源码解析
  • 状态模式(State)
  • 【uniapp】样式合集