Mybatis Plus條件構造器ConditionConstructor用法實例解析
理解:
原來叫條件構造器,我一直以為都是封裝條件對象
即SQL的查詢條件,不過都一樣。
其目的是因為的實際的需求靈活多變,而我們的SQL的篩選條件也需要跟著變化,
但是有一些固定的字段固定的方式可以保證不變化,那么方法的參數的確定尤為重要
從單一的一個ID,一個String的屬性,到一個類型的對象,最后到規范的接口
就是逐漸把可能的情況不斷的抽象化,更具有泛用意義
Wrapper的常用方法:
eq方法,名稱是equals的縮寫,兩個參數,一個是數據庫表字段的名稱,一個是表字段值
userQueryWrapper.eq('user_id', 9); // WHERE user_id = ?
重載方法首參數多加了一個布爾類型,名稱condition,MybatisPlus是希望在這個條件成立的情況下裝填篩選條件
如果這個條件是必選的也必將會調用的,那么就是使用上面的那種。
boolean condition的意義在于動態SQL,如果給了就執行,沒有就不執行
一般在業務邏輯層編寫的時候結合IF & ELSE應地制宜
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
按字段排序:
可以是默認和N個字段,默認排序就表示ASC順序從小到大
也可以指定排序方式,和自定的字段:
眾多條件需要進行連接,無非就是AND & OR兩種
一般只需要連續引用就表示這些一連串的條件是AND拼接,其中一個條件是可選的,就使用or方法處理
// WHERE xx字段 <= 20 AND columnX > valueX OR xxx表字段 BETWEEN 10 AND 65userQueryWrapper.le('xx字段', 20).gt('columnX','valueX').or().between('xxx表字段', 10, 65);
如果我們需要更加明確的表示:則使用And方法進行條件嵌套處理:
參考地址:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: