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 65
userQueryWrapper.le("xx字段", 20).gt("columnX","valueX").or().between("xxx表字段", 10, 65);
如果我們需要更加明確的表示:則使用And方法進(jìn)行條件嵌套處理:
參考地址:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SharedingSphere?自定義脫敏規(guī)則介紹
這篇文章主要介紹了SharedingSphere?自定義脫敏規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
springboot?publish?event?事件機(jī)制demo分享
這篇文章主要介紹了springboot?publish?event?事件機(jī)制demo,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Java?處理樹形結(jié)構(gòu)數(shù)據(jù)的過程
這篇文章主要介紹了Java?處理樹形結(jié)構(gòu)數(shù)據(jù)的過程,本文給大家分析具體實(shí)現(xiàn)過程,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
JAVA后端學(xué)習(xí)精華之網(wǎng)絡(luò)通信項(xiàng)目進(jìn)階
不同項(xiàng)目之間的通信方式分為,http、socket、webservice;其中socket通信的效率最高,youtube就采用的是原始的socket通信,他們信奉的原則是簡單有效2021-09-09
Java中null相關(guān)注解的實(shí)現(xiàn)
本文主要介紹了Java中null相關(guān)注解的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
教你在?Java?中實(shí)現(xiàn)?Dijkstra?最短路算法的方法
這篇文章主要教你在?Java?中實(shí)現(xiàn)?Dijkstra?最短路算法的方法,在實(shí)現(xiàn)最短路算法之前需要先實(shí)現(xiàn)帶權(quán)有向圖,文章中給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04

