日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Fluent Mybatis零xml配置實現復雜嵌套查詢

瀏覽:25日期:2023-10-18 12:25:10
目錄嵌套查詢in (select 子查詢)exists (select子查詢)嵌套查詢

使用Fluent Mybatis, 不用手寫一行xml文件或者Mapper文件,在dao類中即可使用java api構造中比較復雜的嵌套查詢。讓dao的代碼邏輯和sql邏輯合二為一。

前置準備,maven工程設置

參考文章 使用FluentMybatis實現mybatis動態sql拼裝和fluent api語法

in (select 子查詢)

嵌套查詢表和主查詢表一樣的場景

.column().in( query-> {對query設置條件})

只需要在in里面引用一個lambda表達式,lambda表達式入參是一個同名的Query。對這個入參可以設置where參數。

@DisplayName('嵌套查詢和主查詢的表是同一個')@Testvoid test_in_same_table_query() { UserQuery query = new UserQuery().where.id().in(q -> q.selectId() .where.id().eq(3L).end()).and.userName().like('user').and.age().gt(23).end(); List list = mapper.listEntity(query);// 通過Test4J工具,驗證sql語句 db.sqlList().wantFirstSql().eq('SELECT id, gmt_create, gmt_modified, is_deleted, account, age, avatar, birthday, bonus_points, e_mail, password, phone, status, user_name ' + 'FROM user WHERE id IN (SELECT id FROM user WHERE id = ?) ' + 'AND user_name LIKE ? ' + 'AND age > ?');}

嵌套查詢表是另外表的場景.column().in(queryClass, query-> {對query設置條件})

如果嵌套查詢的不是同表一張表,需要在in方法里面顯式聲明一下Query對象的class類型, 后面用法同方法一。

@DisplayName('嵌套查詢和主查詢的表是不同')@Testvoid test_in_difference_table_query() { UserQuery query = new UserQuery().selectId().where.addressId().in(ReceivingAddressQuery.class, q -> q.selectId() .where.id().in(new int[]{1, 2}).end()).end(); mapper.listEntity(query);// 通過Test4J工具,驗證sql語句 db.sqlList().wantFirstSql().eq('SELECT id ' + 'FROM user ' + 'WHERE address_id IN (SELECT id FROM receiving_address WHERE id IN (?, ?))');}

not in嵌套查詢: 使用方法同 in 嵌套查詢

exists (select子查詢)

嵌套查詢表和主查詢表一樣的場景Exists查詢不需要指定字段,直接在query where中可以引用exists方法。

exists( query-> {對query設置條件})如果exists查詢的表和主查詢一致,直接在lambada表達式中使用同類型query參數即可,參數用法同in方法。

exists(queryClass, query-> {對query設置條件})如果exists查詢的表和主查詢不一致,在exists方法第一個參數指定query類型,第二個參數同方法1。

具體示例

@DisplayName('EXISTS查詢')@Testvoid test_exists_query() { UserQuery query = new UserQuery().where.exists(ReceivingAddressQuery.class, q -> q .where.detailAddress().like('杭州') .and.id().apply(' = user.address_id').end()).end(); mapper.listEntity(query);// 通過Test4J工具,驗證sql語句 db.sqlList().wantFirstSql().eq('SELECT id, gmt_create, gmt_modified, is_deleted, account, address_id, age, avatar, birthday, bonus_points, e_mail, password, phone, status, user_name ' +'FROM user ' +'WHERE EXISTS (SELECT *' +' FROM receiving_address' +' WHERE detail_address LIKE ?' +' AND id = user.address_id)', StringMode.SameAsSpace);}

注:示例中的測試,是使用H2內存數據庫,你可以直接運行,不需要你額外建表。但使用Test4J執行測試,你需要在加入vm參數:-javaagent:/這里是你本地maven倉庫地址/org/jmockit/jmockit/1.48/jmockit-1.48.jar

以我本機為例,具體參數如圖:

Fluent Mybatis零xml配置實現復雜嵌套查詢

Fluent Mybatis文檔&示例

Fluent Mybatis源碼, github

到此這篇關于Fluent Mybatis零xml配置實現復雜嵌套查詢的文章就介紹到這了,更多相關Fluent Mybatis 復雜嵌套查詢內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
尤物在线精品| 久久亚洲视频| 精品久久网站| 亚洲精品88| 国产一区二区中文| 欧美1级日本1级| 综合精品一区| 国产毛片久久久| 久久久久久夜| 亚洲国产一区二区三区在线播放| 夜夜精品视频| 美国欧美日韩国产在线播放| 日韩精品一页| 国产成人免费| 婷婷综合社区| 日本99精品| 国产成人精品一区二区三区免费| 日韩不卡免费高清视频| 99视频+国产日韩欧美| 中文字幕亚洲精品乱码| 国产激情久久| 日本激情一区| 久久精品国内一区二区三区水蜜桃| 午夜在线视频观看日韩17c| 97成人超碰| 日韩av有码| 久久久精品日韩| 国产精品呻吟| 狂野欧美性猛交xxxx| 欧美~级网站不卡| 日韩国产精品久久久| 久久久久久夜| 欧美专区在线| 老色鬼精品视频在线观看播放| 999久久久精品国产| 久久国产主播| 亚洲精品视频一二三区| 精品一区二区三区四区五区| 免费视频一区三区| 国产精品嫩模av在线| 欧美日韩在线观看视频小说| 久久亚洲风情| 久久免费精品| 视频一区在线视频| 在线中文字幕播放| 亚洲精品日本| 欧美成人基地| 国产精品亚洲综合在线观看| 亚洲午夜黄色| 卡一精品卡二卡三网站乱码| 国产精品日韩| 欧美韩日一区| 久久精品 人人爱| 欧美1区免费| 欧美精品不卡| 亚洲精品激情| 九九综合九九| 国产精品久久久久久久久免费高清| 欧美福利一区| 精品国产中文字幕第一页| 蜜臀av性久久久久蜜臀aⅴ流畅 | 中文字幕成人| 欧洲一级精品| 国产欧美高清视频在线| 亚洲专区欧美专区| 免费一二一二在线视频| 亚洲精品无播放器在线播放| 亚洲www免费| 卡一精品卡二卡三网站乱码| 亚洲视频电影在线| 亚洲二区精品| 久久久久久婷| 国产精品极品在线观看| 亚洲欧洲国产精品一区| 午夜影院欧美| 欧美成人基地| 精品高清久久| 国产精品成人**免费视频| 亚洲日本在线观看视频| 午夜国产精品视频| 欧美成a人免费观看久久| 欧美久久香蕉| 偷拍亚洲精品| 男人的天堂亚洲一区| 国产国产精品| 99久久久久久中文字幕一区| 日韩成人免费| 精品国产18久久久久久二百| 国产精品一站二站| 91精品国产自产观看在线| 中文字幕亚洲精品乱码| 国产免费成人| 亚洲中字黄色| 三级亚洲高清视频| 丝袜美腿亚洲色图| 欧美+亚洲+精品+三区| 97国产成人高清在线观看| 久久精品国产免费| 精品久久久网| 福利视频一区| 欧美xxxx中国| 日韩在线观看| 久久久久午夜电影| 欧美午夜精品一区二区三区电影| 久久久夜夜夜| 欧美日韩亚洲在线观看| 国户精品久久久久久久久久久不卡| 久久精品电影| 黄色亚洲在线| 亚洲精品乱码久久久久久蜜桃麻豆| 免费国产自线拍一欧美视频| 亚洲国产不卡| 免费欧美在线视频| 亚洲精品人人| 久久狠狠久久| 精品一区二区三区亚洲| 超碰在线99| 日韩欧美一区二区三区在线观看 | 日韩综合一区二区| 日本不卡中文字幕| 国产精品综合| 精品国产一区二区三区av片| 成人污污视频| 日韩一区二区三区免费| 五月激情久久| 欧美精品激情| 亚洲欧美网站在线观看| 国产精品久久777777毛茸茸| 91偷拍一区二区三区精品| 欧美日韩亚洲在线观看| 国产精品试看| 日韩av成人高清| 国产一区二区三区精品在线观看 | 国产精品对白| 久久三级视频| 中文字幕av一区二区三区四区| 国产亚洲高清在线观看| 国产成人精品一区二区三区免费| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产一区福利| 欧美不卡视频| 视频一区日韩精品| 国产福利资源一区| 欧美亚洲国产激情| 亚洲精选91| 麻豆国产精品一区二区三区| 久久精品主播| 日韩有吗在线观看| 精品视频黄色| 亚洲欧美日韩国产一区| 国产精品magnet| 亚洲国产专区校园欧美| 欧美日韩精品一区二区三区在线观看| 97欧美在线视频| 日韩专区在线视频| 精品久久网站| 免费在线欧美视频| 国产一区二区三区黄网站 | 成年男女免费视频网站不卡| 天堂成人国产精品一区| 欧美国产中文高清| 日韩午夜在线| 日韩av在线中文字幕| 四虎成人精品一区二区免费网站| 色在线视频观看| 国产亚洲一区| 国产精品色网| 亚洲精品在线影院| 国产情侣一区| 羞羞答答国产精品www一本| 麻豆mv在线观看| 美国三级日本三级久久99| 国产白浆在线免费观看| 无码日韩精品一区二区免费| 桃色av一区二区| 国产精品主播| 丝袜诱惑制服诱惑色一区在线观看| 国产videos久久| 日韩av不卡一区二区| 尤物在线精品| 日本免费一区二区三区四区| 久久激情av| 中文字幕日本一区二区| 欧美日韩视频网站| 久久久91麻豆精品国产一区| 亚洲精品无吗| 欧美在线亚洲| 欧洲在线一区| 国产极品模特精品一二| 视频一区日韩| 亚洲精品一区二区妖精| 日韩欧美中文| 精品国产一区二区三区性色av| 日韩av一区二区三区四区| 久久午夜精品一区二区| 欧美成人日韩| 久久国产电影| 亚洲精品永久免费视频| 红杏一区二区三区| 国产精品九九|