最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql 直接查詢存儲(chǔ)的Json字符串中的數(shù)據(jù)

 更新時(shí)間:2022年02月17日 09:13:53   作者:daopinz  
本文主要介紹了Mysql直接查詢存儲(chǔ)的Json字符串中的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

我們平時(shí)使用mysql,出于項(xiàng)目需求,可能需要直接將Java對(duì)象或者一個(gè)大json,直接存到表中的某個(gè)字段中;使用的時(shí)候再查出來,反序列化到對(duì)象或者一個(gè)Map中,方便我們操作;

大多時(shí)候,我們可能并不需要所有的數(shù)據(jù),只想使用這個(gè)對(duì)象或者json中的某一個(gè)值,來做邏輯判斷而已

那我們可以這樣做,例如:原來我們需要查出某個(gè)字段的數(shù)據(jù),然后反序列化成對(duì)象再調(diào)用其中的一個(gè)屬性

SELECT content FROM table_name WHERE id = 32;

查詢結(jié)果:
列名:content
結(jié)果:{"fieldType":"SELECT","selectType":"SINGLE","options":["本科","研究生","碩士"]}

TableNameContent content = JsonUtils.jsonNode2Type(TableNameContent.class, TableName.getContent());
 
 if (SELECT.equals(content.getFieldType())){
     //bala... bala...
 }

這樣做,其實(shí)也沒啥毛病,那么其實(shí)還可以換一種其他的方式;

我們可以使用使用 json字段名->’$.json屬性’ 進(jìn)行查詢 直接在content這個(gè)列里查出json后,使用mysql自帶的函數(shù),直接查詢出我們想要的某一個(gè)字段;

SELECT content, REPLACE(json_extract(content,'$.fieldType'),'"','') fieldType 
FROM table_name WHERE id = 32;
或
SELECT content, REPLACE(content->'$.fieldType','"','') fieldType 
FROM table_name WHERE id = 32;

查詢結(jié)果:
列名:content                                                                       fieldType
結(jié)果:{"fieldType":"SELECT","selectType":"SINGLE","options":["本科","研究生","碩士"]}    SELECT

那我們就可以直接拿到這個(gè)字段的值來進(jìn)行做我們想做的事情了。直接查出來的數(shù)據(jù)要是原來存的時(shí)候就帶有雙引號(hào),那么查出來的也是帶雙引號(hào)的,可以使用REPLACE函數(shù)替換一下就好了。

當(dāng)然還有更多的用法:

1 -->  SELECT content FROM table_name WHERE content->'$.fieldType'='SELECT';
 
{"fieldType":"SELECT","selectType":"MULTIPLE","options":["選擇一","選擇二","選擇三"]}
{"fieldType":"SELECT","selectType":"SINGLE","options":["2w","3w","4w","5w"]}
{"fieldType":"SELECT","selectType":"SINGLE","options":["本科","研究生","碩士"]}
{"fieldType":"SELECT","selectType":"SINGLE","options":["11","22","44","23"]}
 
2 --> SELECT content FROM sy_config_member_info WHERE content->'$.fieldType'='SELECT' AND content->'$.selectType'='MULTIPLE';
 
{"fieldType":"SELECT","selectType":"MULTIPLE","options":["選擇一","選擇二","選擇三"]}

當(dāng)然,這樣做的性能可能就不要指望很高了噢,謹(jǐn)慎使用哈~

到此這篇關(guān)于Mysql 直接查詢存儲(chǔ)的Json字符串中的數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Mysql 直接查詢存儲(chǔ)Json內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

丰台区| 班玛县| 五家渠市| 韶山市| 随州市| 绥中县| 玛多县| 新田县| 巍山| 蓬溪县| 九台市| 徐水县| 华坪县| 自治县| 开封县| 延边| 黎川县| 田林县| 大方县| 盐池县| 西和县| 左权县| 镇平县| 洛隆县| 延吉市| 阿克陶县| 来安县| 邢台县| 大理市| 定陶县| 晋中市| 桐梓县| 富阳市| 普定县| 万荣县| 兴海县| 磐安县| 满洲里市| 临桂县| 彭水| 高要市|