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

MyBatis-plus中的模糊查詢解讀

 更新時間:2023年05月16日 10:30:36   作者:F元凱  
這篇文章主要介紹了MyBatis-plus中的模糊查詢解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis-plus模糊查詢

在使用MyBatis-plus的時候,一些基礎(chǔ)的增刪改查可以不用再自己寫sql了:

public interface UserDao extends BaseMapper<FykUser>{
}

就這樣,就可以實(shí)現(xiàn)user表的增刪改查了。

模糊查詢

使用userDao.selectList(queryWrapper)方法,就可以查詢出一個用戶列表。

如果需要模糊查詢,代碼如下:

//條件封裝
QueryWrapper<FykUser> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(user.getName()), "NAME", user.getName());
queryWrapper.like(user.getEnable() != null, "ENABLE", user.getEnable());
List<FykUser> userList = userDao.selectList(queryWrapper);

也就是說,調(diào)用queryWrapper的like方法就可以。

這里,like方法有三個參數(shù):

  • 第一個參數(shù):該參數(shù)是一個布爾類型,只有該參數(shù)是true時,才將like條件拼接到sql中;本例中,如果name字段不為空,則拼接name字段的like查詢條件;
  • 第二個參數(shù):該參數(shù)是數(shù)據(jù)庫中的字段名;
  • 第三個參數(shù):該參數(shù)值字段值;

需要說明的是,這里的like查詢是使用的默認(rèn)方式,也就是說在查詢條件的左右兩邊都有%:NAME = ‘%王%’;

如果只需要在左邊或者右邊拼接%,可以使用likeLeft或者likeRight方法。

其他

在QueryWrapper類中,可以看到,還有很多條件查詢的方法,諸如ge、le、lt、between等之類的方法,他們的傳參方式都和上面介紹的差不多。

MyBatis-plus指定字段模糊查詢

  • mybatis-plus版本:3.3.0
  • oracle版本:11g

很常見的一個需求場景:某張表在前端顯示時,查詢條件中,往往name字段需要模糊查詢,否則默認(rèn)mybatis-plus是用的全字符匹配查詢。

如何最小限度地改造代碼,實(shí)現(xiàn)某個字段模糊查詢,其實(shí)mybatis-plus官方文檔給出了答案:

通過@TableField注解地condition屬性,可以配置某個字段,始終使用模糊匹配,打開condition類,去看看有哪些可選項:

一共有5個可選項,默認(rèn)是采用第一個:EQUAL。

接下來改造自己的代碼:

然而在數(shù)據(jù)庫為oracle的情況下會報錯,打印出來的SQL如下:

SELECT COUNT(1)
?FROM TEST_TABLE
?WHERE TITLE LIKE CONCAT('%', '激光', '%');

由于oracle的CONCAT函數(shù)不支持拼接2個以上的參數(shù),因此產(chǎn)生了錯誤。因此自己定義一個注解類,@TableField注解不變,

只需要注意引入的SqlCondition類是你自己新定義的類,或者為了避免混淆,干脆你換個名字不叫SqlCondition,如下:

問題解決。

總結(jié)

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

相關(guān)文章

  • Java 詳細(xì)講解分治算法如何實(shí)現(xiàn)歸并排序

    Java 詳細(xì)講解分治算法如何實(shí)現(xiàn)歸并排序

    分治算法的基本思想是將一個規(guī)模為N的問題分解為K個規(guī)模較小的子問題,這些子問題相互獨(dú)立且與原問題性質(zhì)相同。求出子問題的解,就可得到原問題的解,本篇文章我們就用分治算法來實(shí)現(xiàn)歸并排序
    2022-04-04
  • Java中ModelMapper?的高級使用

    Java中ModelMapper?的高級使用

    本文主要介紹了Java中ModelMapper?的高級使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java經(jīng)典用法總結(jié)

    Java經(jīng)典用法總結(jié)

    這篇文章主要介紹了Java經(jīng)典用法總結(jié),在本文中,盡量收集一些java最常用的習(xí)慣用法,特別是很難猜到的用法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 解決IDEA項目project包目錄消失的問題

    解決IDEA項目project包目錄消失的問題

    這篇文章主要介紹了解決IDEA項目project包目錄消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot整合Spring Data Elasticsearch的過程詳解

    SpringBoot整合Spring Data Elasticsearch的過程詳解

    這篇文章主要介紹了SpringBoot整合Spring Data Elasticsearch的過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java實(shí)現(xiàn)注冊登錄與郵箱發(fā)送賬號驗證激活功能

    Java實(shí)現(xiàn)注冊登錄與郵箱發(fā)送賬號驗證激活功能

    這篇文章主要介紹了Java實(shí)現(xiàn)注冊登錄與郵箱發(fā)送賬號驗證激活功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • java 制作驗證碼并進(jìn)行驗證實(shí)例詳解

    java 制作驗證碼并進(jìn)行驗證實(shí)例詳解

    這篇文章主要介紹了java 制作驗證碼并進(jìn)行驗證實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Java分布式鎖的三種實(shí)現(xiàn)方案

    Java分布式鎖的三種實(shí)現(xiàn)方案

    本文主要介紹了Java分布式鎖的三種實(shí)現(xiàn)方案。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • IDEA中使用Typora編輯md文件的方法

    IDEA中使用Typora編輯md文件的方法

    這篇文章主要介紹了IDEA中使用Typora編輯md文件的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 詳解如何用Java實(shí)現(xiàn)對m3u8直播流抽幀

    詳解如何用Java實(shí)現(xiàn)對m3u8直播流抽幀

    抽幀(frame extraction)是指從視頻流中提取一些特定的幀,通常是關(guān)鍵幀或者隨機(jī)幀,以供后續(xù)處理。這篇文章主要為大家介紹了如何用Java實(shí)現(xiàn)對m3u8直播流抽幀,需要的可以參考一下
    2023-03-03

最新評論