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

Java?@Mapper?使用注解的方式注入SQL的詳細(xì)過(guò)程

 更新時(shí)間:2025年12月15日 08:43:30   作者:奮力向前123  
文章主要介紹了MySQL的JSON數(shù)據(jù)類型及其使用方法,包括在表中存儲(chǔ)和處理JSON數(shù)據(jù)、使用JSON數(shù)據(jù)進(jìn)行復(fù)雜查詢以及在SQL語(yǔ)句中處理JSON數(shù)據(jù)的示例,感興趣的朋友跟隨小編一起看看吧

MySQL 的 JSON 數(shù)據(jù)類型(從 MySQL 5.7.8 開(kāi)始支持)允許你在表中存儲(chǔ)和處理 JSON 格式的數(shù)據(jù)。

JSON 數(shù)據(jù)類型提供了靈活性,但應(yīng)謹(jǐn)慎使用。對(duì)于需要復(fù)雜查詢、索引或關(guān)系約束的數(shù)據(jù),傳統(tǒng)的關(guān)系表結(jié)構(gòu)通常是更好的選擇。

mysql中in語(yǔ)句的處理。

一、例如SQL:update bill_main set bill_state = '00' where bill_no in ();

處理如下:

@Update(" update bill_main set bill_state = '00' where  bill_no in <foreach collection='billNoList' item='billNo' open='(' separator=',' close=')'> #{billNo}</foreach> ")
Boolean approveReject(@Param("billNoList") List<String> billNoList);

 @Update(" update bill_main set bill_state = '00' where  bill_no in <foreach collection='billNoList' item='billNo' open='(' separator=',' close=')'> #{billNo}</foreach> ")
    Boolean approveReject(@Param("billNoList") List<String> billNoList);

二、遇到數(shù)據(jù)類為JOSN的SQL的處理(t3)

SELECT  t1.id,
        t1.bill_no,
        t1.process_instance_id,
        t1.process_definition_id,
        t1.process_deployment_id,
        t1.approve_id,
        t1.remark,
        t1.enabled_flag,
        json_unquote(json_extract(json_extract(t2.BILL_DATA,'$.comBasicInfo'),'$[0].comApplyUserId')) comApplyUserId,
        json_unquote(json_extract(json_extract(t2.BILL_DATA,'$.comBasicInfo'),'$[0].comApplyUserName')) comApplyUserName,
        json_unquote(json_extract(json_extract(t2.BILL_DATA,'$.comBasicInfo'),'$[0].comApplyUserCode')) comApplyUserCode,
        t3.hj_value, #工時(shí)
        t3.yye04,#項(xiàng)目
        t3.comSubCategoryCode #月份
        FROM bill_main t1
        LEFT JOIN bill_main_data t2 ON t1.id = t2.id
         LEFT join (
         SELECT 
                  t.id,#單據(jù)號(hào)
                  jt.hj_value, #工時(shí)
                  jt.yye04,#項(xiàng)目
                  jt.comSubCategoryCode #月份
                FROM bill_main_data t,
                JSON_TABLE(
                    t.BILL_DATA->'$.jyInfo',
                    '$[*]' COLUMNS (
                        idx FOR ORDINALITY,
                        hj_value VARCHAR(100) PATH '$.hj',
                        yye04 VARCHAR(100) PATH '$.yye04',
                        comSubCategoryCode VARCHAR(100) PATH '$.comSubCategoryCode'
                    ) ) AS jt
         ) t3
         on t1.id = t3.id

SELECT  t1.id,
        t1.bill_no,
        t1.process_instance_id,
        t1.process_definition_id,
        t1.process_deployment_id,
        t1.approve_id,
        t1.remark,
        t1.enabled_flag,
        json_unquote(json_extract(json_extract(t2.BILL_DATA,'$.comBasicInfo'),'$[0].comApplyUserId')) comApplyUserId,
        json_unquote(json_extract(json_extract(t2.BILL_DATA,'$.comBasicInfo'),'$[0].comApplyUserName')) comApplyUserName,
        json_unquote(json_extract(json_extract(t2.BILL_DATA,'$.comBasicInfo'),'$[0].comApplyUserCode')) comApplyUserCode,
        t3.hj_value, #工時(shí)
        t3.yye04,#項(xiàng)目
        t3.comSubCategoryCode #月份
        FROM bill_main t1
        LEFT JOIN bill_main_data t2 ON t1.id = t2.id
         LEFT join (
         SELECT 
                  t.id,#單據(jù)號(hào)
                  jt.hj_value, #工時(shí)
                  jt.yye04,#項(xiàng)目
                  jt.comSubCategoryCode #月份
                FROM bill_main_data t,
                JSON_TABLE(
                    t.BILL_DATA->'$.jyInfo',
                    '$[*]' COLUMNS (
                        idx FOR ORDINALITY,
                        hj_value VARCHAR(100) PATH '$.hj',
                        yye04 VARCHAR(100) PATH '$.yye04',
                        comSubCategoryCode VARCHAR(100) PATH '$.comSubCategoryCode'
                    ) ) AS jt
         ) t3
         on t1.id = t3.id

三、mysql json 數(shù)據(jù)類型的使用示例

-- 創(chuàng)建電商商品表
CREATE TABLE products (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    attributes JSON,
    price DECIMAL(10,2)
);
-- 插入商品數(shù)據(jù)
INSERT INTO products VALUES
(1, '手機(jī)', '{"brand": "蘋(píng)果", "color": "黑色", "storage": "128GB", "specs": {"ram": "4GB", "cpu": "A15"}}', 6999),
(2, '筆記本', '{"brand": "戴爾", "color": "銀色", "storage": "512GB", "specs": {"ram": "16GB", "cpu": "i7"}}', 8999);
-- 復(fù)雜查詢:查找品牌是蘋(píng)果且顏色是黑色的產(chǎn)品
SELECT name, price FROM products
WHERE JSON_EXTRACT(attributes, '$.brand') = '蘋(píng)果'
AND JSON_EXTRACT(attributes, '$.color') = '黑色';
-- 嵌套查詢
SELECT name, attributes->'$.specs.cpu' AS cpu
FROM products;

到此這篇關(guān)于Java @Mapper 使用注解的方式注入SQL的詳細(xì)過(guò)程的文章就介紹到這了,更多相關(guān)Java @Mapper 注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java語(yǔ)言簡(jiǎn)介(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)

    Java語(yǔ)言簡(jiǎn)介(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)

    Java是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征,下面通過(guò)本文給大家分享java語(yǔ)言的簡(jiǎn)介,感興趣的朋友一起看看吧
    2017-03-03
  • Jmeter3.0發(fā)布!版本更新到底更新了什么

    Jmeter3.0發(fā)布!版本更新到底更新了什么

    Jmeter3.0發(fā)布!版本更新到底更新了什么?這篇文章主要告訴大家Jmeter3.0版本更新了什么,感興趣的小伙伴們可以參考一下
    2016-08-08
  • JAVA調(diào)用JavaScript方法舉例詳解

    JAVA調(diào)用JavaScript方法舉例詳解

    之前在一次機(jī)緣巧合的情況下,需要時(shí)用JAVA執(zhí)行js方法,查閱了一些文檔,找到了相關(guān)解決方法,這里和大家分享一下,下面這篇文章主要給大家介紹了關(guān)于JAVA調(diào)用JavaScript方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回

    如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回

    這篇文章主要介紹了如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12
  • 解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法

    解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法

    下面小編就為大家?guī)?lái)一篇解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • java實(shí)現(xiàn)選課系統(tǒng)

    java實(shí)現(xiàn)選課系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)選課系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Spring Security OAuth2 token權(quán)限隔離實(shí)例解析

    Spring Security OAuth2 token權(quán)限隔離實(shí)例解析

    這篇文章主要介紹了Spring Security OAuth2 token權(quán)限隔離實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot基于配置實(shí)現(xiàn)短信服務(wù)策略的動(dòng)態(tài)切換

    SpringBoot基于配置實(shí)現(xiàn)短信服務(wù)策略的動(dòng)態(tài)切換

    這篇文章主要為大家詳細(xì)介紹了SpringBoot在接入多個(gè)短信服務(wù)商(如阿里云、騰訊云、華為云)后,如何根據(jù)配置或環(huán)境切換使用不同的服務(wù)商,需要的小伙伴可以了解下
    2025-04-04
  • 配置Ant執(zhí)行Jmeter腳本過(guò)程詳解

    配置Ant執(zhí)行Jmeter腳本過(guò)程詳解

    這篇文章主要介紹了配置Ant執(zhí)行Jmeter腳本過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java 反射類型Type的用法說(shuō)明

    Java 反射類型Type的用法說(shuō)明

    這篇文章主要介紹了Java 反射類型Type的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評(píng)論

安吉县| 唐河县| 开鲁县| 英吉沙县| 福鼎市| 临夏市| 内乡县| 普陀区| 渝中区| 望都县| 大冶市| 金溪县| 遵义市| 泰来县| 武威市| 乡宁县| 嫩江县| 象州县| 清水县| 台东县| 汉源县| 资源县| 昌都县| 凤山县| 北海市| 广安市| 邵武市| 石阡县| 谢通门县| 贵州省| 青龙| 壤塘县| 武穴市| 上犹县| 东平县| 沿河| 博罗县| 东兴市| 平原县| 鲜城| 蓬溪县|