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

Java?@Mapper?使用注解的方式注入SQL的詳細過程

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

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

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

mysql中in語句的處理。

一、例如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, #工時
        t3.yye04,#項目
        t3.comSubCategoryCode #月份
        FROM bill_main t1
        LEFT JOIN bill_main_data t2 ON t1.id = t2.id
         LEFT join (
         SELECT 
                  t.id,#單據(jù)號
                  jt.hj_value, #工時
                  jt.yye04,#項目
                  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, #工時
        t3.yye04,#項目
        t3.comSubCategoryCode #月份
        FROM bill_main t1
        LEFT JOIN bill_main_data t2 ON t1.id = t2.id
         LEFT join (
         SELECT 
                  t.id,#單據(jù)號
                  jt.hj_value, #工時
                  jt.yye04,#項目
                  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, '手機', '{"brand": "蘋果", "color": "黑色", "storage": "128GB", "specs": {"ram": "4GB", "cpu": "A15"}}', 6999),
(2, '筆記本', '{"brand": "戴爾", "color": "銀色", "storage": "512GB", "specs": {"ram": "16GB", "cpu": "i7"}}', 8999);
-- 復雜查詢:查找品牌是蘋果且顏色是黑色的產(chǎn)品
SELECT name, price FROM products
WHERE JSON_EXTRACT(attributes, '$.brand') = '蘋果'
AND JSON_EXTRACT(attributes, '$.color') = '黑色';
-- 嵌套查詢
SELECT name, attributes->'$.specs.cpu' AS cpu
FROM products;

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

相關(guān)文章

  • Java語言簡介(動力節(jié)點Java學院整理)

    Java語言簡介(動力節(jié)點Java學院整理)

    Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征,下面通過本文給大家分享java語言的簡介,感興趣的朋友一起看看吧
    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方法舉例詳解

    之前在一次機緣巧合的情況下,需要時用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ù)加密返回,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-12-12
  • 解決Maven 項目報錯 java.httpservlet和synchronized使用方法

    解決Maven 項目報錯 java.httpservlet和synchronized使用方法

    下面小編就為大家?guī)硪黄鉀QMaven 項目報錯 java.httpservlet和synchronized使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • java實現(xiàn)選課系統(tǒng)

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

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

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

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

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

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

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

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

    Java 反射類型Type的用法說明

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

最新評論

长葛市| 收藏| 泸水县| 丹凤县| 乐山市| 三原县| 右玉县| 金平| 章丘市| 潼南县| 时尚| 萍乡市| 安福县| 宣恩县| 德惠市| 莱芜市| 宜兴市| 娄烦县| 宜阳县| 大名县| 灌南县| 屏边| 大方县| 镇安县| 万安县| 通河县| 桦南县| 瑞昌市| 保康县| 河源市| 海安县| 吴忠市| 利津县| 双峰县| 容城县| 荆门市| 乌鲁木齐市| 友谊县| 乃东县| 喜德县| 安福县|