国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java】Mybatis Plus LambdaQueryWrapper梳理

這篇具有很好參考價值的文章主要介紹了【Java】Mybatis Plus LambdaQueryWrapper梳理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

【Java】Mybatis-Plus LambdaQueryWrapper梳理

前言

為了更方便的實(shí)現(xiàn)動態(tài) SQL,Mybatis Plus 在其基礎(chǔ)上擴(kuò)展了 LambdaQueryWrapper,LambdaQueryWrapper 提供了更加簡便的查詢語法,同時也避免了 SQL 注入的風(fēng)險。

LambdaQueryWrapper 實(shí)現(xiàn)了 QueryWrapper 的全部功能,并提供了基于 Lambda 表達(dá)式的查詢方式,使得查詢語法更加優(yōu)雅。使用 LambdaQueryWrapper,可以方便的實(shí)現(xiàn)各種查詢條件的拼接,如 whereand、orin、like、between 等條件。

LambdaQueryWrapper 通過函數(shù)式編程的方式,提供了多種方法用于實(shí)現(xiàn)各種查詢條件的拼接,這些方法包括 eq、ne、gt、ge、lt、le、in、notIn、like、notLike、between、notBetween、isNull、isNotNull 等。

與QueryWrapper對比

LambdaQueryWrapper 和 QueryWrapper 都是 Mybatis Plus 中的查詢條件封裝類,其中 LambdaQueryWrapper 是基于 Lambda 表達(dá)式的實(shí)現(xiàn),而 QueryWrapper 是基于字符串的實(shí)現(xiàn)。它們的優(yōu)缺點(diǎn)如下:

LambdaQueryWrapper 優(yōu)點(diǎn)

  1. 代碼簡潔,易讀易寫,使用 Lambda 表達(dá)式可避免手寫字符串繁瑣容易出錯;
  2. 類型安全,LambdaQueryWrapper 在編譯期間就能夠捕獲類型錯誤,避免運(yùn)行時出現(xiàn)類型錯誤;
  3. 更加靈活,LambdaQueryWrapper 支持鏈?zhǔn)秸{(diào)用,支持多個條件之間的 and 和 or 關(guān)系組合,支持子查詢等復(fù)雜查詢操作。

LambdaQueryWrapper 缺點(diǎn)

  1. LambdaQueryWrapper 基于 Lambda 表達(dá)式實(shí)現(xiàn),可能存在一些性能問題,在大數(shù)據(jù)量查詢時可能會影響查詢性能。

QueryWrapper 優(yōu)點(diǎn)

  1. 在少量數(shù)據(jù)查詢時,QueryWrapper 通常比 LambdaQueryWrapper 更快,因為它不需要解析 Lambda 表達(dá)式;
  2. QueryWrapper 更加靈活,可以使用字符串直接拼接 SQL,支持 SQL 函數(shù)等更多高級查詢操作;
  3. 對于老舊代碼,QueryWrapper 更加適合兼容擴(kuò)展。

QueryWrapper 缺點(diǎn)

  1. 代碼可讀性和可維護(hù)性較差,手寫 SQL 字符串容易出錯,并且不易于維護(hù)修改
  2. 使用字符串拼接 SQL,容易受到 SQL 注入攻擊需要特別注意防范;
  3. 編譯期不能捕獲類型錯誤,需要在運(yùn)行時才能發(fā)現(xiàn)類型錯誤。

綜上推薦使用 LambdaQueryWrapper(此外,LambdaQueryWrapper 還具有良好的兼容性和擴(kuò)展性,可以輕松適應(yīng)不同的業(yè)務(wù)需求,提高開發(fā)效率和代碼質(zhì)量)。

案例

簡單查詢

LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getUsername, "張三")
        .and(w -> w.between(User::getAge, 18, 30)
                .or().eq(User::getGender, 1))
        .orderByDesc(User::getCreateTime);

List<User> userList = userMapper.selectList(wrapper);

首先創(chuàng)建了一個 LambdaQueryWrapper 對象,然后通過 eq 方法添加一個等于條件,表示查詢用戶名為“張三”的用戶。接著,使用 and 方法添加一個條件組,該組包含了一個 between 條件和一個 or 條件,分別表示查詢年齡在 18 到 30 之間的用戶,或者查詢性別為 1 的用戶。注意,條件組中的多個條件之間默認(rèn)是 and 的關(guān)系,可以通過 or 方法切換為 or 的關(guān)系。最后,使用 orderByDesc 方法對查詢結(jié)果進(jìn)行排序,按照創(chuàng)建時間倒序排列。

使用 LambdaQueryWrapper 進(jìn)行查詢時,還可以通過 select 方法來自定義查詢字段,從而實(shí)現(xiàn)對查詢結(jié)果的靈活控制。

select

LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAge, 20)
        .select(User::getId, User::getUserName, User::getAge);

List<User> userList = userMapper.selectList(wrapper);

首先通過 LambdaQueryWrapper 對象創(chuàng)建了一個查詢條件,然后使用 eq 方法添加了一個等于條件,表示查詢年齡為 20 的用戶。接著,通過 select 方法來自定義查詢字段,只查詢 id、username、age 三個字段,這些字段是以逗號分隔的字符串形式傳入的。最后,調(diào)用 selectList 方法執(zhí)行查詢操作,得到查詢結(jié)果。文章來源地址http://www.zghlxwxcb.cn/news/detail-701670.html

到了這里,關(guān)于【Java】Mybatis Plus LambdaQueryWrapper梳理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Mybatis Plus中使用LambdaQueryWrapper進(jìn)行分頁以及模糊查詢對比傳統(tǒng)XML方式進(jìn)行分頁

    Mybatis Plus中使用LambdaQueryWrapper進(jìn)行分頁以及模糊查詢對比傳統(tǒng)XML方式進(jìn)行分頁

    傳統(tǒng)的XML方式只能使用limit以及offset進(jìn)行分頁,通過判斷name和bindState是否為空,不為空則拼接條件。 只需要在Service實(shí)現(xiàn)類中直接調(diào)用Mybatis Plus的方法即可進(jìn)行操作。 return PageSanitationCompanyStaff類型可以得到數(shù)據(jù)的總數(shù),你也可以通過.getRecords()方式獲取List集合 這樣子,我們就

    2024年02月12日
    瀏覽(19)
  • Java - LambdaQueryWrapper 的常用方法

    Java - LambdaQueryWrapper 的常用方法

    1、查看項目中是否導(dǎo)入mybatisPlus的jar包 2、servie 層和實(shí)現(xiàn)類要集成mybatisPlus service 繼承IService 實(shí)現(xiàn)類中要繼承IService的實(shí)現(xiàn)類ServiceImplmapper,實(shí)體類 3、如果想要mapper中的一些方法,mapper 要繼承BaseMapper實(shí)體類 4、在實(shí)現(xiàn)類中實(shí)現(xiàn)方法,不需要在xml中寫一個方法了,常用的方法 總

    2024年02月03日
    瀏覽(14)
  • Java8中LambdaQueryWrapper對象使用(學(xué)習(xí)筆記)

    eq: ? 說明:等于= ? 例: ne: ? 說明:不等于 ? 例: gt: ? 說明:大于 ? 例: ge: ? 說明:大于等于= ? 例: lt: ? 說明:小于 ? 例: le: ? 說明:小于等于= ? 例: between: ? 說明:BETWEEN 值1 AND 值2 ? 例: notBetween: ? 說明:NOT BETWEEN 值1 AND 值2 ? 例:

    2024年02月06日
    瀏覽(14)
  • LambdaQueryWrapper用法

    LambdaQueryWrapper是一種針對 Mybatis Plus代碼重構(gòu) 而開發(fā)出來的輕量級查詢條件封裝工具(QueryWrapper),其實(shí)質(zhì)是一種構(gòu)建MyBatis Plus條件構(gòu)建器。 它可以讓查詢條件(where)更容易理解,更簡潔,易于將常見條件各自封裝成一個方法,并且只有一個方法,以方便調(diào)用。 它可以簡化

    2024年01月22日
    瀏覽(17)
  • 【MybatisPlus】LambdaQueryWrapper和QueryWapper的區(qū)別

    【MybatisPlus】LambdaQueryWrapper和QueryWapper的區(qū)別

    個人主頁 :金鱗踏雨 個人簡介 :大家好,我是 金鱗 ,一個初出茅廬的Java小白 目前狀況 :22屆普通本科畢業(yè)生,幾經(jīng)波折了,現(xiàn)在任職于一家國內(nèi)大型知名日化公司,從事Java開發(fā)工作 我的博客 :這里是CSDN,是我學(xué)習(xí)技術(shù),總結(jié)知識的地方。希望和各位大佬交流,共同進(jìn)

    2024年02月13日
    瀏覽(12)
  • Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代碼自助生成器

    Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代碼自助生成器

    引用官方文檔上的簡介: 提供交互式的Web UI用于生成兼容mybatis-plus框架的相關(guān)功能代碼,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定義模板以及各類輸出參數(shù),也可通過SQL查詢語句直接生成代碼。 文檔 github: https://github.com/davidfantasy/mybatis-plus-generator-ui gitee: https://g

    2024年02月10日
    瀏覽(24)
  • 【Java系列】MyBatis-Plus常見面試題

    【Java系列】MyBatis-Plus常見面試題

    ? MyBatis-Plus是MyBatis框架的一個擴(kuò)展庫,它提供了一系列方便的API和工具,可以簡化常見的數(shù)據(jù)庫操作。MyBatis-Plus的優(yōu)點(diǎn)包括: 提高開發(fā)效率:MyBatis-Plus提供了代碼生成、分頁、查詢構(gòu)建等功能,可以幫助開發(fā)人員快速開發(fā)數(shù)據(jù)庫相關(guān)的功能。 簡化操作:MyBatis-Plus提供了一些

    2024年02月08日
    瀏覽(48)
  • 【Java系列】Mybatis-Plus 使用方式介紹

    【Java系列】Mybatis-Plus 使用方式介紹

    Mybatis-Plus 提供了多種方式來執(zhí)行 SQL,包括使用注解、XML 映射文件和 Lambda 表達(dá)式等。其中,使用 Lambda 表達(dá)式是 Mybatis-Plus 推薦的方式,因為它更加直觀和類型安全。 以下是一個使用 Lambda 表達(dá)式執(zhí)行 SQL 的示例,現(xiàn)在我們有一個名為? User ?的實(shí)體類,其中包含? id 、 name ?

    2024年02月07日
    瀏覽(25)
  • 【Java系列】Mybatis-Plus 使用介紹二

    【Java系列】Mybatis-Plus 使用介紹二

    你只管努力,其他交給時間,時間會證明一切。 MyBatis-Plus 是 MyBatis 的增強(qiáng)工具,它簡化了 MyBatis 的開發(fā),并提供了許多實(shí)用的功能和工具類。下面是 MyBatis-Plus 的使用方法: 在 Maven 項目中,需要在 pom.xml 文件中添加如下依賴: 其中? mybatis-plus-boot-starter ?是 MyBatis-Plus 的 S

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包