Mybatis Plus條件構(gòu)造器ConditionConstructor用法實(shí)例解析
理解:
原來叫條件構(gòu)造器,我一直以為都是封裝條件對象
即SQL的查詢條件,不過都一樣。
其目的是因?yàn)榈膶?shí)際的需求靈活多變,而我們的SQL的篩選條件也需要跟著變化,
但是有一些固定的字段固定的方式可以保證不變化,那么方法的參數(shù)的確定尤為重要
從單一的一個(gè)ID,一個(gè)String的屬性,到一個(gè)類型的對象,最后到規(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)行條件嵌套處理:
參考地址:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 省時(shí)又省力 用Oracle擴(kuò)展SQL跟蹤數(shù)據(jù)2. 關(guān)于Oracle數(shù)據(jù)庫熱備份腳本深入剖析3. Access數(shù)據(jù)庫安全的幾個(gè)問題4. MySQL存儲(chǔ)過程例子(包含事務(wù)、參數(shù)、嵌套調(diào)用、游標(biāo)循環(huán)等)5. MySQL雙主(主主)架構(gòu)配置方案6. MySQL 的啟動(dòng)選項(xiàng)和系統(tǒng)變量實(shí)例詳解7. 一文帶你了解MySQL的左連接與右連接8. mysql-bin.000001文件的來源及處理方法9. Sql server數(shù)據(jù)庫開發(fā)常用匯總10. 如何遠(yuǎn)程調(diào)用ACCESS數(shù)據(jù)庫
