Mybatis 實(shí)現(xiàn)一個(gè)搜索框?qū)Χ鄠€(gè)字段進(jìn)行模糊查詢
1、問(wèn)題描述:
最近項(xiàng)目需要提供一個(gè)搜索框?qū)Χ鄠€(gè)字段進(jìn)行模糊查詢的操作代替下拉列表選擇單個(gè)字段條件進(jìn)行模糊查詢的操作。
2、解決辦法:
之前的四個(gè)條件的模糊查詢代碼
<if test="featureCode != null"> AND plm_model_option.feature_code= #{featureCode} </if> <if test="featureName != null"> AND plm_feature_lib.feature_name= #{featureName} </if> <if test="optionCode != null"> AND plm_model_option.option_code= #{optionCode} </if> <if test="optionName != null"> AND plm_option_lib.option_name= #{optionName} </if>
現(xiàn)在進(jìn)行模糊查詢的代碼:
<if test="searchStr!=null and searchStr!=''"> AND CONCAT(plm_model_option.feature_code,plm_feature_lib.feature_name,plm_model_option.option_code,plm_option_lib.option_name) LIKE CONCAT ('%', #{searchStr},'%') </if>
補(bǔ)充:最新Mybatis關(guān)鍵字模糊查詢結(jié)果檢索多個(gè)字段解決方案
Mybatis用戶名模糊查詢,賬號(hào)模糊查詢我相信大家都會(huì)。那么如何輸入關(guān)鍵字之后既可以查詢到用戶名的結(jié)果又可以查詢到賬號(hào)的結(jié)果呢?
我這里設(shè)定的是id和username兩個(gè)字段的關(guān)鍵字模糊查詢。
先看下效果圖:
關(guān)鍵字搜索之前的列表數(shù)據(jù)
關(guān)鍵字搜索之后的數(shù)據(jù)
實(shí)現(xiàn)核心代碼:
<select id="list" resultType="com.swkj.pojo.Member"> SELECT * FROM tb_member WHERE 1=1 <if test="keyword!='' and keyword!=null"> <!--bind 標(biāo)簽的兩個(gè)屬性都是必選項(xiàng), name 為綁定到上下文的變量名,value為OGNL表達(dá)式。--> <bind name="pattern" value="'%' + keyword + '%'"/> and CONCAT(username,id) like #{pattern} </if> <if test="sdate!='' and sdate!=null"> and starttime>=#{sdate} </if> <if test="edate!='' and edate!=null"> and starttime<=#{edate} </if> limit #{m},#{n} </select>
原理分析:
這里其實(shí)就是在where條件后面將id和username通過(guò)concat()函數(shù)連接了起來(lái),然后在對(duì)關(guān)鍵字進(jìn)行模糊查詢,就能得到自己想要的結(jié)果了。So easy!
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Java實(shí)現(xiàn)轉(zhuǎn)跳不同系統(tǒng)使用枚舉加switch的方式示例
今天小編就為大家分享一篇關(guān)于Java實(shí)現(xiàn)轉(zhuǎn)跳不同系統(tǒng)使用枚舉加switch的方式示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12idea社區(qū)版如何設(shè)置vm?options
這篇文章主要介紹了idea社區(qū)版如何設(shè)置vm?options問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09項(xiàng)目依賴(lài)Springboot jar失敗解決方案
這篇文章主要介紹了項(xiàng)目依賴(lài)Springboot jar失敗解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08mybatis批量添加,批量更新之前如何判斷是否已經(jīng)存在
這篇文章主要介紹了mybatis批量添加,批量更新之前如何判斷是否已經(jīng)存在,具有很好的參考價(jià)值,希望對(duì)的有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08java+sqlserver實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要介紹了利用java和sqlserver實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),違章內(nèi)容主要建立了與sqlserver數(shù)據(jù)庫(kù)的連接開(kāi)始展開(kāi)內(nèi)容,能學(xué)到了解JDBC執(zhí)行SQL的語(yǔ)法,需要的朋友可以參考一下2021-12-12Maven打包沒(méi)有指定主類(lèi)問(wèn)題(xxx.jar中沒(méi)有主清單屬性)
這篇文章主要介紹了Maven打包沒(méi)有指定主類(lèi)問(wèn)題(xxx.jar中沒(méi)有主清單屬性),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04數(shù)據(jù)結(jié)構(gòu)與算法之手撕排序算法
排序算法看似簡(jiǎn)單,其實(shí)不同的算法中蘊(yùn)涵著經(jīng)典的算法策略。通過(guò)熟練掌握排序算法,就可以掌握基本的算法設(shè)計(jì)思想,本文主要介紹了Java中的排序算法,需要的朋友歡迎閱讀2023-04-04