午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

Mybatis多個字段模糊匹配同一個值的案例

瀏覽:34日期:2023-10-22 13:07:25

需求:

搜索框中可輸入手機號,姓名,地址查詢,后臺需要對一個框中的多個字段做匹配查詢。

搜索

Mybatis多個字段模糊匹配同一個值的案例

可以在sql語句中做拼接條件查詢:

<if test='condition!=null and condition!=’’'>AND CONCAT(r.name,a.name,a.phone,a.addr_detail) LIKE ’%’ #{condition} ’%’</if>

補充知識:在Mybatis xml使用mysql數(shù)據(jù)庫進行多字段模糊查詢(Like)

在mysql中使用Like進行一些簡單輕量級的查詢,并不需要考慮太多效率問題。

一、Like單字段查詢比較簡單。

沒有特殊要求的話,直接使用%關(guān)鍵字%就進行左右匹配查詢

.....<mapper..> ... <select...> SELECT c.* FROM contacts c WHERE c.delete_time IS NULL <if test='keyWord != null and keyWord != ’’'> AND c.name LIKE concat(’%’,#{keyWord},’%’)} </if> ORDER BY c.create_time DESC <select></mapper>

那如果我需要查詢多個字段,比如一個輸入框,既可以輸入姓名也可以輸入電話、手機進行查詢,又該如何呢?

二、關(guān)于多字段查詢,這里有兩個方式可供參考:

1、對多個字段分別查詢,使用OR連接,這種方式效率在數(shù)據(jù)量大時,效率很差

.....<mapper..> ... <select...> SELECT c.* FROM contacts c WHERE c.delete_time IS NULL <if test='keyWord != null and keyWord != ’’'> AND c.name LIKE concat(’%’,#{keyWord},’%’)} OR c.mobile LIKE concat(’%’,#{keyWord},’%’)} OR c.telphone LIKE concat(’%’,#{keyWord},’%’)} </if> ORDER BY c.create_time DESC <select></mapper>

2、使用concat將多個字段拼接之后在進行模糊查詢,相比第一種更推薦第二種,執(zhí)行效率更好

.....<mapper..> ... <select...> SELECT c.* FROM contacts c WHERE c.delete_time IS NULL <if test='keyWord != null and keyWord != ’’'> AND CONCAT(IFNULL(c.name,’’),IFNULL(c.mobile,’’),IFNULL(c.telephone,’’)) LIKE concat(’%’,#{keyWord},’%’)} </if> ORDER BY c.create_time DESC <select></mapper>

特別提醒:由于CONCAT中只要有一個為NULL,則會返回NULL,這將導致你查不到正確數(shù)據(jù)。為了確保不為NULL,使用 IFNULL判斷下就可以了

IFNULL() 函數(shù)用于判斷第一個表達式是否為 NULL,如果為 NULL 則返回第二個參數(shù)的值,如果不為 NULL 則返回第一個參數(shù)的值。

以上這篇Mybatis多個字段模糊匹配同一個值的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
主站蜘蛛池模板: 国产精品国色综合久久 | 成人在线观看网站 | 久久国产精品一区二区三区 | 国产自在线拍 | 日本视频网 | 日韩特黄毛片 | 国产成人精品免费视频 | 国产福利精品视频 | 亚洲欧美综合在线观看 | 国产日韩在线免费观看 | 日本中文字幕精品 | 网友自拍av | 日本高清有码 | 亚洲在线免费观看 | 色女生影院 | 国产日韩欧美视频在线观看 | 三区四区在线观看 | 91免费黄 | 欧美色国 | 人妖和人妖互交性xxxx视频 | 激情五月婷婷网 | 免费a在线观看播放 | 碰在线视频 | 中文字幕不卡在线 | 激情视频网址 | 亚洲成人免费在线观看 | 黄网在线看 | 国产亚洲欧美一区二区三区 | 国产成人精品a视频一区 | 特级毛片av | 高清不卡一区二区 | 黄色片在线看 | 午夜激情影院 | 国产一区不卡视频 | 亚洲大胆视频 | 亚洲美女视频网站 | 黄色裸体网站 | 视频一区二区在线播放 | 青青草黄色 | 偷拍亚洲精品 | 天天舔天天干天天操 |