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

MyBatis-plus中的模糊查詢解讀

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

MyBatis-plus模糊查詢

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

public interface UserDao extends BaseMapper<FykUser>{
}

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

模糊查詢

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

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

//條件封裝
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方法有三個(gè)參數(shù):

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

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

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

其他

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

MyBatis-plus指定字段模糊查詢

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

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

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

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

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

接下來改造自己的代碼:

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

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

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

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

問題解決。

總結(jié)

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

相關(guān)文章

  • Java面向?qū)ο箢惡蛯?duì)象實(shí)例詳解

    Java面向?qū)ο箢惡蛯?duì)象實(shí)例詳解

    面向?qū)ο竽耸荍ava語言的核心,是程序設(shè)計(jì)的思想,這篇文章主要介紹了Java面向?qū)ο箢惡蛯?duì)象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • SpringBoot統(tǒng)計(jì)接口請(qǐng)求耗時(shí)的方法詳解

    SpringBoot統(tǒng)計(jì)接口請(qǐng)求耗時(shí)的方法詳解

    接口請(qǐng)求時(shí)間的快慢就代表著獲取到對(duì)應(yīng)的數(shù)據(jù)的快慢,也代表著用戶請(qǐng)求頁面數(shù)據(jù)的快慢,常常可以借助接口請(qǐng)求快慢進(jìn)行相應(yīng)的優(yōu)化,本文給大家介紹了SpringBoot統(tǒng)計(jì)接口請(qǐng)求耗時(shí)的方法,需要的朋友可以參考下
    2024-12-12
  • 淺談標(biāo)簽和JLabel類構(gòu)造方法

    淺談標(biāo)簽和JLabel類構(gòu)造方法

    這篇文章主要介紹了標(biāo)簽和JLabel類構(gòu)造方法,具有一定參考價(jià)值,需要的朋友可以參考下。
    2017-09-09
  • spring boot自帶圖片服務(wù)器使用詳解

    spring boot自帶圖片服務(wù)器使用詳解

    這篇文章主要為大家詳細(xì)介紹了spring boot自帶圖片服務(wù)器的使用 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SpringBoot?LocalDateTime格式轉(zhuǎn)換方案詳解(前端入?yún)?

    SpringBoot?LocalDateTime格式轉(zhuǎn)換方案詳解(前端入?yún)?

    這篇文章主要介紹了SpringBoot?LocalDateTime格式轉(zhuǎn)換(前端入?yún)?,本文用示例介紹SpringBoot全局格式配置,將前端傳過來的時(shí)間自動(dòng)轉(zhuǎn)化為LocalDateTime,需要的朋友可以參考下
    2023-04-04
  • springboot實(shí)現(xiàn)將自定義日志格式存儲(chǔ)到mongodb中

    springboot實(shí)現(xiàn)將自定義日志格式存儲(chǔ)到mongodb中

    這篇文章主要介紹了springboot實(shí)現(xiàn)將自定義日志格式存儲(chǔ)到mongodb中的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 深入理解ThreadLocal工作原理及使用示例

    深入理解ThreadLocal工作原理及使用示例

    這篇文章主要介紹了深入理解ThreadLocal工作原理及使用示例,涉及ThreadLocal<T> 簡介和使用示例及ThreadLocal<T>的原理等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 詳解在IDEA中使用MyBatis Generator逆向工程生成代碼

    詳解在IDEA中使用MyBatis Generator逆向工程生成代碼

    這篇文章主要介紹了詳解在IDEA中使用MyBatis Generator逆向工程生成代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java 通過 二三法 巧解前端數(shù)據(jù)顯示

    Java 通過 二三法 巧解前端數(shù)據(jù)顯示

    實(shí)踐來源于理論,做開發(fā)前肯定要先了解相關(guān)的規(guī)則和原理,看到標(biāo)題或許你會(huì)好奇什么是二三法。本篇文章帶你深入了解,需要的朋友可以參考下
    2021-10-10
  • Java使用openOffice對(duì)于word的轉(zhuǎn)換及遇到的問題解決

    Java使用openOffice對(duì)于word的轉(zhuǎn)換及遇到的問題解決

    開發(fā)過程中經(jīng)常會(huì)使用java將office系列文檔轉(zhuǎn)換為PDF, 一般都使用微軟提供的openoffice+jodconverter 實(shí)現(xiàn)轉(zhuǎn)換文檔,下面這篇文章主要給大家介紹了關(guān)于Java通過openOffice對(duì)于word的轉(zhuǎn)換及遇到問題的解決方法,需要的朋友可以參考下
    2018-09-09

最新評(píng)論

南陵县| 高密市| 洪泽县| 鄂托克旗| 禄丰县| 东明县| 宜阳县| 永康市| 西青区| 常宁市| 山西省| 象州县| 黑山县| 陵水| 永州市| 乌兰浩特市| 鹰潭市| 申扎县| 亳州市| 涟源市| 永仁县| 通江县| 岐山县| 鄂伦春自治旗| 永春县| 长寿区| 民乐县| 同德县| 桃园市| 沙雅县| 库尔勒市| 尚志市| 扬中市| 双城市| 巴东县| 井研县| 东兰县| 寿光市| 安宁市| 上饶县| 洪泽县|