mybatis + mysql json精准查询
Posted rrz634171
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis + mysql json精准查询相关的知识,希望对你有一定的参考价值。
"productName": "华为MatePad Pro",
"managerAttrs": "\\"code\\":\\"OKs\\"",
"technicalAttrs": "\\"code\\":\\"OK\\"",
"simplePageInfo":
"pageNum": "1",
"pageSize": "10"
代码:
List<Map<String, String>> managers = new ArrayList<>();
//.......
if (StringUtils.isNotBlank(queryProductVo.getManagerAttrs()))
JSONObject jsonManager = JSONObject.parseObject(queryProductVo.getManagerAttrs());
Map<String, Object> mapManager = jsonManager;
for (Map.Entry<String, Object> m : mapManager.entrySet())
Map<String, String> m1 = new HashMap<>();
m1.put("k", m.getKey());
m1.put("v", String.valueOf(m.getValue()));
managers.add(m1);
productMap.put("managerList", managers);
Page<Map<String, String>> productList = productMapper.queryProductList(productMap);
实体类(部分)字段:
@ApiModelProperty("技术属性")
private String technicalAttrs;
@ApiModelProperty("管理属性")
private String managerAttrs;
private List<Map<String, String>> technicalAttrList;
private List<Map<String, String>> managerList;
Mapper:
<if test="technicalAttrList!=null and technicalAttrList!=''">
<foreach collection="technicalAttrList" item="item" index="index" open=" " separator=" " close=" ">
AND TECHNICAL_ATTRS->'$.$item.k' = #item.v
</foreach>
</if>
<if test="managerList!=null and managerList!=''">
<foreach collection="managerList" item="item" index="index" open=" " separator=" " close=" ">
AND MANAGER_ATTRS->'$.$item.k' = #item.v
</foreach>
</if>
以上是关于mybatis + mysql json精准查询的主要内容,如果未能解决你的问题,请参考以下文章
springboot2.x+MyBatis-Plus+mysql5.7 动态拼接sql语句 分页查询 自定义sql 查询条件 分组 排序
springboot2.x+MyBatis-Plus+mysql5.7 动态拼接sql语句 分页查询 自定义sql 查询条件 分组 排序