mybatis-plus 支持操作 JSON 数据类型,官方文档也提供了详细的使用说明,下面我来具体讲解如何操作 JSON 字段的完整攻略,包括如何插入、修改、查询和删除 JSON 数据。
mybatis-plus 支持操作 JSON 数据类型,官方文档也提供了详细的使用说明,下面我来具体讲解如何操作 JSON 字段的完整攻略,包括如何插入、修改、查询和删除 JSON 数据。
1. 插入 JSON 数据
插入 JSON 数据可以使用 MyBatis-Plus 提供的 com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
类型处理器,步骤如下:
1.创建实体类并定义 JSON 字段
public class User {
private Long id;
@TableField(typeHandler = JacksonTypeHandler.class)
private Map<String, Object> jsonData;
// ... getter / setter 略
}
2.定义 XML 映射文件,使用 ${}
表达式指定 JSON 字段值
<insert id="insert" parameterType="User">
insert into user(id, json_data)
values (#{id}, #{jsonData, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler})
</insert>
3.执行插入操作
Map<String, Object> jsonData = new HashMap<>();
jsonData.put("username", "mybatis");
jsonData.put("age", 18);
User user = new User();
user.setId(1L);
user.setJsonData(jsonData);
userMapper.insert(user);
这样就可以成功插入 JSON 数据到数据库中了。
2. 修改 JSON 数据
修改 JSON 数据也可以使用 JacksonTypeHandler
类型处理器,步骤与插入 JSON 数据类似:
1.创建实体类并定义 JSON 字段
public class User {
private Long id;
@TableField(typeHandler = JacksonTypeHandler.class)
private Map<String, Object> jsonData;
// ... getter / setter 略
}
2.定义 XML 映射文件,使用 ${}
表达式指定 JSON 字段值
<update id="update" parameterType="User">
update user set
json_data=#{jsonData, typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler}
where id=#{id}
</update>
3.执行修改操作
Map<String, Object> jsonData = new HashMap<>();
jsonData.put("username", "mybatis-plus");
jsonData.put("age", 20);
User user = new User();
user.setId(1L);
user.setJsonData(jsonData);
userMapper.updateById(user);
这样就可以成功修改 JSON 数据了。
3. 查询 JSON 数据
查询 JSON 数据可以使用 MyBatis-Plus 提供的 com.baomidou.mybatisplus.extension.plugins.handler.JacksonTypeHandler
处理器,步骤如下:
1.创建实体类并定义 JSON 字段
public class User {
private Long id;
@TableField(typeHandler = JacksonTypeHandler.class)
private Map<String, Object> jsonData;
// ... getter / setter 略
}
2.定义 XML 映射文件,查询时直接使用 ${}
表达式
<select id="selectById" resultType="User">
select id, json_data from user where id=#{id}
</select>
3.执行查询操作
User user = userMapper.selectById(1L);
Map<String, Object> jsonData = user.getJsonData();
System.out.println(jsonData.get("username"));
System.out.println(jsonData.get("age"));
这样就可以成功查询 JSON 数据了。
4. 删除 JSON 数据
删除 JSON 数据和删除其他类型数据一样,直接使用 deleteById
方法即可。
userMapper.deleteById(1L);
以上就是 mybatis-plus 如何操作 JSON 字段的完整攻略,希望能对您有所帮助。
本文标题为:mybatis-plus 如何操作json字段


基础教程推荐
- 基于Redis分布式锁Redisson及SpringBoot集成Redisson 2023-05-24
- Spring注解Autowired的底层实现原理详解 2023-06-24
- Java自定义标签用法实例分析 2024-01-18
- JSP自定义标签案例分析 2023-08-03
- Java钩子方法概念原理详解 2024-01-20
- js中let能否完全替代IIFE 2023-12-08
- JSP 自定义标签实现数据字典的实例 2023-07-30
- 解决Mybatis plus实体类属性与表字段不一致的问题 2023-02-19
- Mybatis超级强大的动态SQL语句大全 2022-11-19
- 最新SpringCloud Stream消息驱动讲解 2023-07-01