mysql存json数据时的查询办法

很多时候mysql的一列当中存的是json格式的数据,这时候如果要查询某个key对应的值的时候要如何查询呢,这里记录一种查询方法:

json列的值:
{“InventoryMainTypeCode”: 1, “InventoryMainTypeName”: “GOOD”}

现在要查询InventoryMainTypeCode为xxx或者InventoryMainTypeName为xxx的数据:(这里以springboot+mybatis为例子)

代码:
请求类:

Query query = new Query();
@Data
public class Query implements Serializable {private Map<String, Object> featureMap = new HashMap<>();public void setFeature(String feature) {if (StringUtils.isNotBlank(feature)) {featureMap = JSON.parseObject(feature, Map.class);}}public void addFeature(String key, Object value) {if (StringUtils.isBlank(key)) {return;}this.featureMap.put(key, value);}public void addFeatureMap(Map<String, Object> featureMaps) {if (MapUtils.isNotEmpty(featureMaps)){this.featureMap.putAll(featureMaps);}}
}

在代码中将key添加到Feature中:

query.addFeature(DicConst.InventoryMainTypeCode.name(), 1);
List<ResultDTO> dTOS = dictionaryManager.queryDicByParam(query);

mapper文件:

 List<CnbDictionaryDO> queryDicByParam(CnbDictionaryQuery query);

xml:

  <select id="queryDicByParam" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from<include refid="Table_Name"/><where><if test="id != null">and id = #{id}</if><if test="featureMap != null and featureMap.size > 0"><foreach collection="featureMap" index="key" item="value"><if test="value != null"><![CDATA[and feature->'$.${key}' = #{value}]]></if></foreach></if></where></select>

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

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

相关文章

win10 笔记本卡顿优化

Windows SysMain 服务是 Windows 操作系统中的一个关键组件&#xff0c;它的作用是启用系统的 SuperFetch 功能。SuperFetch 旨在改善系统的性能&#xff0c;通过预加载常用的应用程序和文件到内存中&#xff0c;以加速它们的启动和响应时间。SysMain 服务负责管理 SuperFetch …

Python并发-线程和进程

一、线程和进程对应的问题 **1.进程&#xff1a;**CPU密集型也叫计算密集型&#xff0c;指的是系统的硬盘、内存性能相对CPU要好很多&#xff0c;此时&#xff0c;系统运作大部分的状况是CPU Loading 100%&#xff0c;CPU要读/写I/O(硬盘/内存)&#xff0c;I/O在很短的时间就可…

C语言之函数

目录 main函数和库函数 什么是函数 函数定义 函数头&#xff08;function header&#xff09; 1.返回类型&#xff08;return type&#xff09; 2.函数名&#xff08;function name&#xff09; 3.形参声明&#xff08;parameter type list&#xff09; 函数体&#xff…

mybatisplus手动获取数据源执行非主数据库事务

mybatisplus手动获取数据源执行非主数据库事务 class A {// 事务管理器Resourceprivate DataSourceTransactionManager dataSourceTransactionManager;Autowiredprivate DataSource dataSource; // 最终是com.baomidou.dynamic.datasource.DynamicRoutingDataSource类型public…

通过静态HTTP实现负载均衡

在当今的互联网环境中&#xff0c;随着用户数量的不断增加和业务需求的不断扩大&#xff0c;单台服务器往往无法承受所有的访问压力。为了确保网站的可用性和性能&#xff0c;负载均衡成为了一种常见的解决方案。本文将探讨如何通过静态HTTP实现负载均衡&#xff0c;以提升网站…

认识系统服务daemons

什么是daemon与服务&#xff08;service) 常驻内存的是进程&#xff0c;可以提供一些系统或网络功能&#xff0c;这就是服务。实现service的程序称为daemon。也就是说要想提供某种服务&#xff0c;daemon实在后台运行的。 daemon的分类&#xff1a; 1&#xff09;可独立启动…

【CSP】202209-1_如此编码Python实现

文章目录 [toc]试题编号试题名称时间限制内存限制题目背景题目描述输入格式输出格式样例1输入样例1输出样例2输入样例2输出样例3输入样例3输出样例3解释子任务提示Python实现 试题编号 202209-1 试题名称 如此编码 时间限制 1.0s 内存限制 512.0MB 题目背景 某次测验后&#x…

【Angular开发】2023年促进您开发的最佳Angular库

如果你是一名开发人员&#xff0c;你可以理解平台的重要性&#xff0c;它可以加快开发过程&#xff0c;显著减少编码时间和工作量。 根据StackOverflow开发者2021年的调查&#xff0c;Angular是其中一个令人惊叹的平台&#xff0c;它一直赢得人们的喜爱&#xff0c;并获得了全…

【vtkWidgetRepresentation】第六期 vtkFinitePlaneRepresentation

很高兴在雪易的CSDN遇见你 &#xff0c;给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享VTK中的平面Plane表示方法&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易会继续努力分享&#xff0c;一起进步&#xff01; …

机器人阻抗控制直观(图示理解)与控制框架/架构

在刚性碰撞下&#xff0c;机器人的阻抗调节可以使其更好地适应外部环境。具体来说&#xff0c;通过建立力与位移之间的关系&#xff0c;并改变阻抗参数&#xff0c;可以控制机器人对外部力的响应。 在具体实现上&#xff0c;可以采用基于位置的阻抗控制或基于力的阻抗控制。基于…

【Java 基础】26 枚举

文章目录 1. 什么是枚举2. 定义3. 使用1&#xff09;常量2&#xff09;遍历3&#xff09;switch 4. 属性和方法1&#xff09;属性2&#xff09;方法 5. 实现原理6. 使用场景总结 1. 什么是枚举 枚举是列出某些有穷序列集的所有成员的程序&#xff0c;或者是一种特定类型对象的计…

Windows下使用CMD修改本地IP

在网络适配器界面查看当前网线连接的哪个网口&#xff0c;我当前连的是 以太网 这个名字的&#xff1a; 在windows下使用管理员权限打开CMD命令工具&#xff0c;输入如下命令(如我想本地ip改成192.168.2.4)&#xff1a; netsh interface ip set address "以太网" st…

LeetCode Hot100 78.子集

题目&#xff1a; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 方法&#xff1a;灵神 选 or 不选 class Solution {private final List&…

spring 的概述和入门

​ 我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; …

信号量的使用和注意事项

大家好&#xff0c;今天给大家介绍信号量的使用和注意事项&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 信号灯(信号量)集 POSIX 线程中的同步用的是无名信号量 进程间的同步使…

乔拓云平台:微信小程序开发的全新视角与高效路径

随着微信小程序的日益普及&#xff0c;越来越多的人开始关注如何开发自己的小程序。对于没有开发经验的人来说&#xff0c;借助第三方平台如乔拓云&#xff0c;可以轻松实现小程序的开发。本文将介绍微信小程序开发需要学习的东西&#xff0c;并探讨如何借助乔拓云平台进行无经…

基于深度学习的钢铁缺陷检测系统(含UI界面,Python代码,数据集、yolov8)

项目介绍 项目中所用到的算法模型和数据集等信息如下&#xff1a; 算法模型&#xff1a;     yolov8 yolov8主要包含以下几种创新&#xff1a;         1. 添加注意力机制&#xff08;SE、CBAM等&#xff09;         2. 修改可变形卷积&#xff08;DySnake-主干c…

【改进YOLOv8】融合可变形大核注意力D-LKA-Attention的油气管道设备泄露检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着油气管道设备的广泛应用&#xff0c;油气泄露问题已经成为一个严重的环境和安全隐患。油气泄露不仅会造成环境污染&#xff0c;还可能引发火灾、爆炸等严重事…

掌握vue中国际化使用及配置

文章目录 &#x1f341;i18n组件安装&#x1f341;项目中配置 vue-i18n&#x1f341;编写语言包&#x1f341;国际化的使用 随着互联网的普及和全球化的发展&#xff0c;开发国际化的应用程序已经成为一种趋势。因此&#xff0c;将 VUE 应用程序国际化是非常有必要的。 以下是…

新时代商业旨意:传统商家如何变革?

随着新时代的到来&#xff0c;商业环境也在不断变化。在这个信息爆炸、消费者需求日益复杂化的时代&#xff0c;商业旨意已经不再仅仅是追求利润&#xff0c;而是转向了以客户为中心&#xff0c;追求价值共创、社会责任等多元化的目标。传统商家面临着诸多挑战&#xff0c;如何…