JSON类型处理器

news/2025/3/20 20:34:08/文章来源:https://www.cnblogs.com/linzepro/p/18231205

数据库的user表中有一个info字段,是JSON类型:

格式像这样:
{"age": 20, "intro": "佛系青年", "gender": "male"}
而目前User实体类中却是String类型:
这样一来,我们要读取info中的属性时就非常不方便。如果要方便获取,info的类型最好是一个Map或者实体类。
而一旦我们把info改为对象类型,就需要在写入数据库时手动转为String,再读取数据库时,手动转换为对象,这会非常麻烦。
 
因此MybatisPlus提供了很多特殊类型字段的类型处理器,解决特殊字段类型与数据库类型转换的问题。例如处理JSON就可以使用JacksonTypeHandler处理器。
 
接下来,我们就来看看这个处理器该如何使用。

定义实体

首先,我们定义一个单独实体类来与info字段的属性匹配:
代码如下:
package com.itheima.mp.domain.po;import lombok.Data;@Data
public class UserInfo {private Integer age;private String intro;private String gender;
}
 
 

3.4.2.使用类型处理器

接下来,将User类的info字段修改为UserInfo类型,并声明类型处理器:
测试可以发现,所有数据都正确封装到UserInfo当中了:
 
同时,为了让页面返回的结果也以对象格式返回,我们要修改UserVO中的info字段:
此时,在页面查询结果如下:
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/719899.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

路过的朋友,欢迎来看看通俗易懂版本的Nacos

​ 一、什么是Nacos? 一个更易于构建云原生应用的动态服务发现、服务配置和服务管理平台。 Nacos的关键特性: 二、注册中心演变及其设计思想 1、RestTemplate调用远程服务 如果此时,服务端接口接口名或参数或请求方式更改了,那么就得同步修改此restTemplate方法,感觉很麻…

深入解读Prometheus Adapter:云原生监控的核心组件

本文详述了Prometheus Adapter的部署与配置,通过三个实践案例展示其在Kubernetes环境中的应用,帮助用户实现基于自定义指标的自动扩展和跨集群统一监控。关注作者,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智…

智能农业:农业现代化的新引擎

在科技日新月异的今天,智能农业正迅速崛起为引领农业现代化的重要力量。借助物联网、大数据和人工智能等尖端技术,智能农业为农业生产带来了前所未有的智能监测、精准控制和高效管理,极大地提升了农业生产的效率和质量。智能农业的技术支撑是其成功的关键。其中,智能感知、…

STM32系列 PWM输出

#include "led.h" #include "delay.h" #include "key.h" #include "sys.h" #include "usart.h" #include "timer.h" //ALIENTEK战舰STM32开发板实验9 //PWM输出实验 //技术支持:www.openedv.com //广州市星翼电…

为什么想做副业???还不是因为穷

为什么那一刻突然想做副业???: 1、没有门路,没有渠道,害怕被骗,担心赚不到钱。 2、免费的怕被骗,要钱的却直接支付了,真豪爽(结果都没有赚到本钱) 我听到最搞笑的一句是:别人在哪个平台能找到我的店铺呢。。。不行动钱自己送上门???那为什么有些人想做却做不来呢…

node.js,在Azure Cosmos DB中批量删除数据

1.删除数据操作: 对于数据,不做逻辑删除,仅作标记删除,即将数据的isDelete属性置为true,因此删除数据实际上是修改数据。 某个item如图const item = await container.item(id, partitionKey).read() // 根据id和partitionKey读取数据 let Item = item.resource //获取数据…

配置枚举处理器

在application.yaml文件中添加配置: mybatis-plus:configuration:default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler 测试 @Test void testService() {List<User> list = userService.list();list.forEach(System.out::printl…

Error running ‘Application’Command line is too long

按照网上的说法 需要一个一个修改测试方法 或者 应用,比较麻烦 !!!!! 这里介绍一个一次设置的方法 第一步 2第二步3第三部 把这两个都修改下 应该就OK了

免费的项目管理系统哪个好?2024年值得关注的6大项目管理系统

对于预算有限的小企业和创业公司来说,免费的项目管理系统不仅可以帮助节省成本,还能提高工作效率。本文将分享2024年值得关注的6大项目管理系统:PingCode、Worktile、Asana、Trello、Jira、Monday.com。对于预算有限的小企业和创业公司来说,免费的项目管理系统不仅可以帮助…

java什么时候声明static方法

声明为static的方法有以下典型使用场景工具方法(Utility Methods):当你有一个方法不需访问对象状态,即不需要访问类的非静态成员变量,那么这个方法可以声明为static。这样,你无需创建类的实例就可以通过类名直接调用该方法。很多工具类如Math, Arrays, Collections中的方…

2024年9大主流提效个人项目管理工具分享

本文将介绍市场上几款受欢迎的个人项目管理软件,帮助你选择适合自己需求的最佳工具。本文将分享9大主流提效个人项目管理工具:PingCode、Worktile、Smartsheet、Celoxis、Wrike、QuickBase、Miro、FigJam、Nifty。个人项目管理软件作为提高生产力、组织任务和跟踪进度的强大工…

璞华科技获《数据产品登记证书》,璞华易表入数据资产运营市场

根据地方政策、深入地方市场、为地方客户提供专业的数据资产入表、数据资产运营管理服务!随着数字经济时代的飞速发展,数据要素在社会经济中的地位也变得越来越重要,成为超越传统土地、劳动力、技术和资金的新型关键资源,被誉为“第五要素”。这一变化不仅凸显了数据在当今…