最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis QueryWrapper的條件構(gòu)造之a(chǎn)pply、last、select解析

 更新時間:2022年03月22日 11:58:58   作者:Neic  
這篇文章主要介紹了mybatis QueryWrapper的條件構(gòu)造之a(chǎn)pply、last、select,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

QueryWrapper條件構(gòu)造之a(chǎn)pply、last、select

場景: 查詢數(shù)據(jù)庫限制條數(shù)時

mysql上的limit使用 

QueryWrapper needSyn = new QueryWrapper();
needSyn.ge("ModifyDate",lmtSynRec.getLatestDate());
needSyn.last("limit 200");
List<CusCarInfo> needData = cusCarInfoMapper.selectList(needSyn);

如果是oracle則可以用apply

needSyn.apply("rownum < {0}" , 200);

如果是sqlserver

建議自己寫sql查詢語句

<select id="getSynList" resultType="com.xmeport.project.model.entity.CusCarInfo">
? ? select top ${top} ?* ?from CUS_CAR_INFO t where t.ModifyDate > cast(#{latestDate} as datetime) orderBy?
?t.ModifyDate asc
</select>
List<CusCarInfo> getSynList(int top, Date latestDate);

或者使用QueryWrapper的select

QueryWrapper<CusCarInfo> wrapper ?= new QueryWrapper();
wrapper.select("top 200 *");
return this.list(wrapper);

以上就是根據(jù)最新時間查詢top條數(shù)據(jù)

傳入的字段是時間類型,就用#{} 占位符接收。如果是具體的一個數(shù)字或字符可以用 ${ }來接收。

條件構(gòu)造器QueryWrapper實例

我們再搞幾個實例來深入理解下條件構(gòu)造器QueryWrapper的用法:

案例一

查詢姓李的,并且出生日期范圍是1993-02-09到1994-04-09的員工

sql實現(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實現(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實現(xiàn):

SELECT * FROM t_employee WHERE NAME LIKE '李%' OR (email IS NOT NULL AND gender ='女')

mp實現(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實現(xiàn):

SELECT * FROM t_employee WHERE NAME LIKE '李%' AND (email IS NOT NULL OR gender ='女')

mp實現(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);
}

案例四

查詢屬于編號1,2,3部門的并且薪水小于等于3500的員工 根據(jù)年齡從大到小排序顯示

sql實現(xiàn):

SELECT * FROM t_employee WHERE salary<=3500 AND departmentId IN (1,2,3) ORDER BY birthday ASC

mp實現(xiàn):

/**
?* 查詢屬于編號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);
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot整合Retry的詳細(xì)指南

    SpringBoot整合Retry的詳細(xì)指南

    在現(xiàn)代的分布式系統(tǒng)中,服務(wù)間的調(diào)用往往需要處理各種網(wǎng)絡(luò)異常、超時等問題,重試機(jī)制是一種常見的解決策略,本文將通過一個具體的使用場景來詳細(xì)介紹如何在 Spring Boot 應(yīng)用中集成和使用 Spring Retry 技術(shù),需要的朋友可以參考下
    2024-12-12
  • 詳解Java中Stream流的用法和原理

    詳解Java中Stream流的用法和原理

    最近編碼的時候用到了Stream這個東西,以前也用過,但是對它沒有一個系統(tǒng)的認(rèn)知,在好奇心的驅(qū)動下還是決定花一些時間去系統(tǒng)地學(xué)一學(xué),不了解Stream的同學(xué)可以看看本文,對大家的學(xué)習(xí)和工作有一定的幫助
    2023-10-10
  • Spring Boot中RedisTemplate的使用示例詳解

    Spring Boot中RedisTemplate的使用示例詳解

    RedisTemplate.opsForHash()是RedisTemplate類提供的用于操作Hash類型的方法,它可以用于對Redis中的Hash數(shù)據(jù)結(jié)構(gòu)進(jìn)行各種操作,如設(shè)置字段值、獲取字段值、刪除字段值等,本文介紹Spring Boot中RedisTemplate的使用,感興趣的朋友一起看看吧
    2023-10-10
  • 解決java Graphics drawImage 無法顯示圖片的問題

    解決java Graphics drawImage 無法顯示圖片的問題

    這篇文章主要介紹了解決java Graphics drawImage 無法顯示圖片的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • TC?集群Seata1.6高可用架構(gòu)源碼解析

    TC?集群Seata1.6高可用架構(gòu)源碼解析

    這篇文章主要為大家介紹了TC?集群Seata1.6高可用架構(gòu)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Ajax+Servlet+jsp顯示搜索效果

    Ajax+Servlet+jsp顯示搜索效果

    這篇文章主要為大家詳細(xì)介紹了Ajax+Servlet+jsp顯示搜索效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • SpringBoot如何獲取Get請求參數(shù)詳解

    SpringBoot如何獲取Get請求參數(shù)詳解

    SpringBoot為我們封裝了許多簡便的獲取請求參數(shù)的方法,下面這篇文章主要給大家介紹了關(guān)于SpringBoot如何獲取Get請求參數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Spring Boot啟動流程斷點過程解析

    Spring Boot啟動流程斷點過程解析

    這篇文章主要介紹了Spring Boot啟動流程斷點過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot動態(tài)表操作服務(wù)的實現(xiàn)代碼

    SpringBoot動態(tài)表操作服務(wù)的實現(xiàn)代碼

    在現(xiàn)代的應(yīng)用開發(fā)中,尤其是在數(shù)據(jù)庫設(shè)計不斷變化的情況下,動態(tài)操作數(shù)據(jù)庫表格成為了不可或缺的一部分,在本篇文章中,我們將以一個典型的動態(tài)表操作服務(wù)為例,詳細(xì)介紹如何在 Spring Boot 中使用 JdbcTemplate 實現(xiàn)動態(tài)表管理,需要的朋友可以參考下
    2025-01-01
  • MyBatis-Plus自定義SQL和復(fù)雜查詢的實現(xiàn)

    MyBatis-Plus自定義SQL和復(fù)雜查詢的實現(xiàn)

    MyBatis-Plus增強了MyBatis的功能,提供注解和XML兩種自定義SQL方式,支持復(fù)雜查詢?nèi)缍啾黻P(guān)聯(lián)、動態(tài)分頁等,通過注解如@Select、@Insert、@Update、@Delete實現(xiàn)CRUD操作,本文就來介紹一下,感興趣的可以了解一下
    2024-10-10

最新評論

新巴尔虎右旗| 伊川县| 浠水县| 朔州市| 虞城县| 兴国县| 高台县| 竹北市| 碌曲县| 新巴尔虎左旗| 新安县| 新源县| 仁布县| 蒲江县| 崇仁县| 海淀区| 息烽县| 富锦市| 屯门区| 宜阳县| 桂平市| 乌兰浩特市| 肇州县| 绥阳县| 陇川县| 新乡县| 耒阳市| 芮城县| 古丈县| 饶阳县| 平南县| 秭归县| 佛教| 卫辉市| 丰城市| 丹巴县| 都安| 绍兴市| 武陟县| 西充县| 疏附县|