本篇内容主要讲解“Mybatis-Plus怎么读写Mysql的Json字段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis-Plus怎么读写Mysql的Json字段”吧!
确保mysql的版本是5.7+
package com.cxstar.domain;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import java.io.Serializable;
import java.util.Date;
@lombok.Data
@TableName(autoResultMap = true)
public class Data implements Serializable {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
// 部分字段省略-------------
private String title;
private String author;
private String publisher;
// -----------------------
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONObject aggJson;
}
package com.cxstar;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cxstar.domain.Data;
import com.cxstar.domain.SearchMsg;
import com.cxstar.mapper.DataMapper;
import com.cxstar.service.OrderService;
import com.cxstar.service.spider.impl.*;
import com.cxstar.service.utils.ExecutorThread;
import com.cxstar.service.utils.SpiderThread;
import com.cxstar.service.utils.SynContainer;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
import java.util.Date;
import java.util.UUID;
@SpringBootTest
class OrderApplicationTests {
@Autowired
DataMapper dataMapper;
@Test
void testJson() {
// insert -----------------------------------
Data data = new Data();
data.setTitle("计算机安全技术与方法");
data.setPublisher("<<计算机技术>>编辑部出版");
JSONObject jb = new JSONObject();
jb.put("searchKey", "英格");
jb.put("curPage", "1");
JSONArray js = new JSONArray();
js.add("西北政法大学");
js.add("西安理工大学");
jb.put("source", js);
data.setAggJson(jb);
dataMapper.insert(data);
// ------------------------------------------
// select --------------------------------------
Data data1 = dataMapper.selectById(5837);
JSONObject jb2 = data1.getAggJson();
System.out.println(jb2.getJSONArray("source"));
// ---------------------------------------------
// group by -----------------------------------------------
LambdaQueryWrapper<Data> lqw = new LambdaQueryWrapper<>();
lqw.select(Data::getAggJson);
lqw.groupBy(Data::getAggJson);
List<Data> dataList = dataMapper.selectList(lqw);
System.out.println(dataList);
// --------------------------------------------------------
}
}
到此,相信大家对“Mybatis-Plus怎么读写Mysql的Json字段”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。