基于mybatis-plus QueryWrapper 排序的坑
QueryWrapper排序的坑

大致可以總結(jié)成上面的兩句話。
條件構(gòu)造器QueryWrapper
我們?cè)俑銕讉€(gè)實(shí)例來深入理解下條件構(gòu)造器QueryWrapper的用法:
案例一
查詢姓李的,并且出生日期范圍是1993-02-09到1994-04-09的員工
sql實(shí)現(xiàn):
SELECT * FROM t_employee WHERE DATE_FORMAT(birthday,'%Y-%m-%d')>='1993-02-09' AND DATE_FORMAT(birthday,'%Y-%m-%d')<='1994-04-09' AND NAME LIKE '李%'
mp實(shí)現(xiàn):
/**
* 查詢姓李的,并且出生日期范圍是1993-02-09到1994-04-09的員工
* sql:SELECT * FROM t_employee WHERE DATE_FORMAT(birthday,'%Y-%m-%d')>='1993-02-09' AND DATE_FORMAT(birthday,'%Y-%m-%d')<='1994-04-09' AND NAME LIKE '李%'
*/
@Test
public void selectByQueryWrapper3(){
QueryWrapper<Employee> queryWrapper=new QueryWrapper();
// QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
queryWrapper.apply("DATE_FORMAT(birthday,'%Y-%m-%d')>={0} and DATE_FORMAT(birthday,'%Y-%m-%d')<={1}","1993-02-09","1994-04-09").likeRight("name","李");
List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
System.out.println(employeeList);
}案例二
查詢姓李的或者郵箱不為空并且是女性的員工
sql實(shí)現(xiàn):
SELECT * FROM t_employee WHERE NAME LIKE '李%' OR (email IS NOT NULL AND gender ='女')
mp實(shí)現(xiàn):
/**
?* 查詢姓李的或者郵箱不為空并且是女性的員工
?* sql:SELECT * FROM t_employee WHERE NAME LIKE '李%' OR (email IS NOT NULL AND gender ='女')
?*/
@Test
public void selectByQueryWrapper4(){
? QueryWrapper<Employee> queryWrapper=new QueryWrapper();
? // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
? queryWrapper.likeRight("name","李").or(wq->wq.isNotNull("email").eq("gender","女"));
? List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
? System.out.println(employeeList);
}案例三
查詢姓李的并且郵箱不為空或者是女性的員工
sql實(shí)現(xiàn):
SELECT * FROM t_employee WHERE NAME LIKE '李%' AND (email IS NOT NULL OR gender ='女')
mp實(shí)現(xiàn):
/**
?* 查詢姓李的并且郵箱不為空或者是女性的員工
?* sql:SELECT * FROM t_employee WHERE NAME LIKE '李%' AND (email IS NOT NULL OR gender ='女')
?*/
@Test
public void selectByQueryWrapper5(){
? QueryWrapper<Employee> queryWrapper=new QueryWrapper();
? // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
? queryWrapper.likeRight("name","李").and(wq->wq.isNotNull("email").or().eq("gender","女"));
? List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
? System.out.println(employeeList);
}案例四
查詢屬于編號(hào)1,2,3部門的并且薪水小于等于3500的員工 根據(jù)年齡從大到小排序顯示
sql實(shí)現(xiàn):
SELECT * FROM t_employee WHERE salary<=3500 AND departmentId IN (1,2,3) ORDER BY birthday ASC
mp實(shí)現(xiàn):
/**
?* 查詢屬于編號(hào)1,2,3部門的并且薪水小于等于3500的員工 根據(jù)年齡從大到小排序顯示
?* sql:SELECT * FROM t_employee WHERE salary<=3500 AND departmentId IN (1,2,3) ORDER BY birthday ASC
?*/
@Test
public void selectByQueryWrapper6(){
? QueryWrapper<Employee> queryWrapper=new QueryWrapper();
? // QueryWrapper<Employee> queryWrapper2=Wrappers.<Employee>query();
? queryWrapper.likeRight("name","李").and(wq->wq.isNotNull("email").or().eq("gender","女"));
? List<Employee> employeeList = employeeMapper.selectList(queryWrapper);
? System.out.println(employeeList);
}以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot利用切面注解及反射實(shí)現(xiàn)事件監(jiān)聽功能
這篇文章主要介紹了springboot事件監(jiān)聽,通過利用切面、注解、反射實(shí)現(xiàn),接下來將對(duì)這幾種方式逐一說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2022-07-07
Java中實(shí)現(xiàn)WebSocket方法詳解
這篇文章主要介紹了Java中實(shí)現(xiàn)WebSocket方法詳解,WebSocket?是一種新型的網(wǎng)絡(luò)協(xié)議,它允許客戶端和服務(wù)器之間進(jìn)行雙向通信,可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)交互,需要的朋友可以參考下2023-07-07
解決@Api注解不展示controller內(nèi)容的問題
這篇文章主要介紹了解決@Api注解不展示controller內(nèi)容的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。2022-01-01
解決JSONObject.toJSONString()輸出null的問題
這篇文章主要介紹了解決JSONObject.toJSONString()輸出null的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
自定義spring mvc的json視圖實(shí)現(xiàn)思路解析
這篇文章主要介紹了自定義spring mvc的json視圖的實(shí)現(xiàn)思路解析,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12
Java redisTemplate阻塞式處理消息隊(duì)列
用redis中的List可以實(shí)現(xiàn)隊(duì)列,這樣可以用來做消息處理和任務(wù)調(diào)度的隊(duì)列。因此,本文將主要為大家介紹如何利用redisTemplate處理消息隊(duì)列,感興趣的小伙伴可以了解一下2021-12-12
RocketMQ消息存儲(chǔ)文件的加載與恢復(fù)機(jī)制源碼分析
這篇文章主要介紹了RocketMQ源碼分析之消息存儲(chǔ)文件的加載與恢復(fù)機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

