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.pswp.cn/news/207777.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207777.shtml
英文地址,請注明出處:http://en.pswp.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;如何…