Mybatis Plus條件構(gòu)造器ConditionConstructor用法實(shí)例解析
理解:
原來叫條件構(gòu)造器,我一直以為都是封裝條件對(duì)象
即SQL的查詢條件,不過都一樣。
其目的是因?yàn)榈膶?shí)際的需求靈活多變,而我們的SQL的篩選條件也需要跟著變化,
但是有一些固定的字段固定的方式可以保證不變化,那么方法的參數(shù)的確定尤為重要
從單一的一個(gè)ID,一個(gè)String的屬性,到一個(gè)類型的對(duì)象,最后到規(guī)范的接口
就是逐漸把可能的情況不斷的抽象化,更具有泛用意義
Wrapper的常用方法:
eq方法,名稱是equals的縮寫,兩個(gè)參數(shù),一個(gè)是數(shù)據(jù)庫表字段的名稱,一個(gè)是表字段值
userQueryWrapper.eq('user_id', 9); // WHERE user_id = ?
重載方法首參數(shù)多加了一個(gè)布爾類型,名稱condition,MybatisPlus是希望在這個(gè)條件成立的情況下裝填篩選條件
如果這個(gè)條件是必選的也必將會(huì)調(diào)用的,那么就是使用上面的那種。
boolean condition的意義在于動(dòng)態(tài)SQL,如果給了就執(zhí)行,沒有就不執(zhí)行
一般在業(yè)務(wù)邏輯層編寫的時(shí)候結(jié)合IF & ELSE應(yīng)地制宜
userQueryWrapper.eq(false,'user_id', 9); // 這個(gè)false需要一個(gè)變量來靈活操控
不等于:
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個(gè)字段,默認(rèn)排序就表示ASC順序從小到大
也可以指定排序方式,和自定的字段:

眾多條件需要進(jìn)行連接,無非就是AND & OR兩種
一般只需要連續(xù)引用就表示這些一連串的條件是AND拼接,其中一個(gè)條件是可選的,就使用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方法進(jìn)行條件嵌套處理:
參考地址:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 數(shù)據(jù)庫Oracle9i的企業(yè)管理器簡(jiǎn)介2. SQLite教程(十四):C語言編程實(shí)例代碼(2)3. mysql的like模式4. MySQL存儲(chǔ)過程的查詢命令介紹5. Microsoft Office Access添加頁眉或頁腳的方法6. SQLite教程(二):C/C++接口簡(jiǎn)介7. Linux CentOS7安裝Oracle11g的超完美新手教程8. sql查詢一個(gè)數(shù)組中是否包含某個(gè)內(nèi)容find_in_set問題9. SQL SERVER偏移函數(shù)(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)10. 使用 Database Access(數(shù)據(jù)庫訪問)組件

網(wǎng)公網(wǎng)安備