欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

場(chǎng)景: 查詢數(shù)據(jù)庫(kù)限制條數(shù)時(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查詢語(yǔ)句

<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ù)最新時(shí)間查詢top條數(shù)據(jù)

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

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

我們?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)文章

  • JAVA數(shù)組練習(xí)題實(shí)例講解

    JAVA數(shù)組練習(xí)題實(shí)例講解

    這篇文章主要給大家介紹了關(guān)于JAVA數(shù)組練習(xí)題的相關(guān)資料,這是個(gè)人總結(jié)的一些關(guān)于java數(shù)組的練習(xí)題,文中通過代碼實(shí)例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • Java編程求二叉樹的鏡像兩種方法介紹

    Java編程求二叉樹的鏡像兩種方法介紹

    這篇文章主要介紹了Java編程求二叉樹的鏡像兩種方法介紹,分享了兩種方法,遞歸與非遞歸,每種方法又分別介紹了兩種解決思路,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 簡(jiǎn)單了解spring bean作用域?qū)傩詓ingleton和prototype的區(qū)別

    簡(jiǎn)單了解spring bean作用域?qū)傩詓ingleton和prototype的區(qū)別

    這篇文章主要介紹了簡(jiǎn)單了解spring bean作用域?qū)傩詓ingleton和prototype的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • spring boot整合scurity做簡(jiǎn)單的登錄校驗(yàn)的實(shí)現(xiàn)

    spring boot整合scurity做簡(jiǎn)單的登錄校驗(yàn)的實(shí)現(xiàn)

    這篇文章主要介紹了spring boot整合scurity做簡(jiǎn)單的登錄校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • lambda表達(dá)式與傳統(tǒng)接口函數(shù)實(shí)現(xiàn)方式對(duì)比詳解

    lambda表達(dá)式與傳統(tǒng)接口函數(shù)實(shí)現(xiàn)方式對(duì)比詳解

    這篇文章主要為大家介紹了lambda表達(dá)式與傳統(tǒng)接口函數(shù)實(shí)現(xiàn)方式對(duì)比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家度偶多進(jìn)步早日升職加薪
    2022-03-03
  • java 設(shè)計(jì)模式之依賴倒置實(shí)例詳解

    java 設(shè)計(jì)模式之依賴倒置實(shí)例詳解

    這篇文章主要介紹了java 設(shè)計(jì)模式之依賴倒置,結(jié)合實(shí)例形式詳細(xì)分析了依賴倒置的相關(guān)概念、原理、使用技巧及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • Spring AOP實(shí)現(xiàn)原理解析

    Spring AOP實(shí)現(xiàn)原理解析

    這篇文章主要為大家詳細(xì)介紹了Spring AOP的實(shí)現(xiàn)原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java自帶的加密類MessageDigest類代碼示例

    Java自帶的加密類MessageDigest類代碼示例

    這篇文章主要介紹了Java自帶的加密類MessageDigest類代碼示例,分享了常見的三種加密方式代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 詳解Java中NullPointerException的處理方法

    詳解Java中NullPointerException的處理方法

    這篇文章將帶大家來單獨(dú)看一個(gè)很常見的異常--空指針異常,這個(gè)可以說是每個(gè)Java程序員都必知的異常,所以我們不得不單獨(dú)學(xué)習(xí)一下,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-08-08
  • Eclipse項(xiàng)目怎么導(dǎo)入IDEA并運(yùn)行(超詳細(xì))

    Eclipse項(xiàng)目怎么導(dǎo)入IDEA并運(yùn)行(超詳細(xì))

    這篇文章主要介紹了Eclipse項(xiàng)目怎么導(dǎo)入IDEA并運(yùn)行(超詳細(xì)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論