溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mybatis Plus如何使用ConditionConstructor

發(fā)布時間:2020-11-09 15:36:18 來源:億速云 閱讀:384 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)Mybatis Plus如何使用ConditionConstructor,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

理解:

原來叫條件構(gòu)造器,我一直以為都是封裝條件對象

即SQL的查詢條件,不過都一樣。

其目的是因為的實際的需求靈活多變,而我們的SQL的篩選條件也需要跟著變化,

但是有一些固定的字段固定的方式可以保證不變化,那么方法的參數(shù)的確定尤為重要

從單一的一個ID,一個String的屬性,到一個類型的對象,最后到規(guī)范的接口

就是逐漸把可能的情況不斷的抽象化,更具有泛用意義

Wrapper的常用方法:

eq方法,名稱是equals的縮寫,兩個參數(shù),一個是數(shù)據(jù)庫表字段的名稱,一個是表字段值

userQueryWrapper.eq("user_id", 9); // WHERE user_id = ?

重載方法首參數(shù)多加了一個布爾類型,名稱condition,MybatisPlus是希望在這個條件成立的情況下裝填篩選條件

如果這個條件是必選的也必將會調(diào)用的,那么就是使用上面的那種。

boolean condition的意義在于動態(tài)SQL,如果給了就執(zhí)行,沒有就不執(zhí)行

一般在業(yè)務(wù)邏輯層編寫的時候結(jié)合IF & ELSE應(yīng)地制宜

userQueryWrapper.eq(false,"user_id", 9); // 這個false需要一個變量來靈活操控

不等于:

userQueryWrapper.ne("columnX","valueX"); // columnX != valueX || columnX <> valueX

between方法,即SQL的 WHERExx字段 BETWEEN值1 AND值2

注意,值1一定是小于值2的

userQueryWrapper.between("xxx表字段", 10, 65); // WHERE xx字段 BETWEEN 值1 AND 值2

大于小于、大于等于、小于等于

userQueryWrapper.gt("xx字段", 20); // WHERE columnX > valueX
    userQueryWrapper.lt("xx字段", 20); // WHERE columnX < valueX

    userQueryWrapper.ge("xx字段", 20); // WHERE columnX >= valueX
    userQueryWrapper.le("xx字段", 20); // WHERE columnX <= valueX

按字段排序:

可以是默認(rèn)和N個字段,默認(rèn)排序就表示ASC順序從小到大

也可以指定排序方式,和自定的字段:

Mybatis Plus如何使用ConditionConstructor

眾多條件需要進(jìn)行連接,無非就是AND & OR兩種

一般只需要連續(xù)引用就表示這些一連串的條件是AND拼接,其中一個條件是可選的,就使用or方法處理

// WHERE xx字段 <= 20 AND columnX > valueX OR xxx表字段 BETWEEN 10 AND 65
userQueryWrapper.le("xx字段", 20).gt("columnX","valueX").or().between("xxx表字段", 10, 65);

如果我們需要更加明確的表示:則使用And方法進(jìn)行條件嵌套處理:

參考地址:

Mybatis Plus如何使用ConditionConstructor

以上就是Mybatis Plus如何使用ConditionConstructor,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI