Mybatis 實現(xiàn)一個搜索框對多個字段進行模糊查詢
1、問題描述:
最近項目需要提供一個搜索框對多個字段進行模糊查詢的操作代替下拉列表選擇單個字段條件進行模糊查詢的操作。
2、解決辦法:
之前的四個條件的模糊查詢代碼
<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)在進行模糊查詢的代碼:
<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>
補充:最新Mybatis關鍵字模糊查詢結果檢索多個字段解決方案
Mybatis用戶名模糊查詢,賬號模糊查詢我相信大家都會。那么如何輸入關鍵字之后既可以查詢到用戶名的結果又可以查詢到賬號的結果呢?
我這里設定的是id和username兩個字段的關鍵字模糊查詢。
先看下效果圖:
關鍵字搜索之前的列表數據

關鍵字搜索之后的數據

實現(xiàn)核心代碼:
<select id="list" resultType="com.swkj.pojo.Member">
SELECT *
FROM tb_member
WHERE 1=1
<if test="keyword!='' and keyword!=null">
<!--bind 標簽的兩個屬性都是必選項, name 為綁定到上下文的變量名,value為OGNL表達式。-->
<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>
原理分析:
這里其實就是在where條件后面將id和username通過concat()函數連接了起來,然后在對關鍵字進行模糊查詢,就能得到自己想要的結果了。So easy!
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
Java實現(xiàn)轉跳不同系統(tǒng)使用枚舉加switch的方式示例
今天小編就為大家分享一篇關于Java實現(xiàn)轉跳不同系統(tǒng)使用枚舉加switch的方式示例,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
java+sqlserver實現(xiàn)學生信息管理系統(tǒng)
這篇文章主要介紹了利用java和sqlserver實現(xiàn)學生信息管理系統(tǒng),違章內容主要建立了與sqlserver數據庫的連接開始展開內容,能學到了解JDBC執(zhí)行SQL的語法,需要的朋友可以參考一下2021-12-12
Maven打包沒有指定主類問題(xxx.jar中沒有主清單屬性)
這篇文章主要介紹了Maven打包沒有指定主類問題(xxx.jar中沒有主清單屬性),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

