亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Mybatis多個(gè)字段模糊匹配同一個(gè)值的案例

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

需求:

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

搜索

Mybatis多個(gè)字段模糊匹配同一個(gè)值的案例

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

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

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

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

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

沒有特殊要求的話,直接使用%關(guān)鍵字%就進(jì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>

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

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

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

.....<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將多個(gè)字段拼接之后在進(jìn)行模糊查詢,相比第一種更推薦第二種,執(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中只要有一個(gè)為NULL,則會返回NULL,這將導(dǎo)致你查不到正確數(shù)據(jù)。為了確保不為NULL,使用 IFNULL判斷下就可以了

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

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

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 看真人一一级毛片 | 国产国语毛片 | 亚洲国产精品综合久久20 | 欧美三级免费网站 | 精品久久久一二三区 | 91精品国产高清久久久久久 | 中文字幕成人网 | 国产三级在线观看视频不卡 | 精品欧美一区二区精品久久 | 亚州一二区| 最新国产在线观看 | 性欧美videosg最新另类 | 青草资源视频在线高清观看 | 国产成人剧情 | 手机看片亚洲 | 久久精品国产99国产精偷 | 国产福利视频一区二区三区 | 中文字幕亚洲高清综合 | 成年视频在线观看 | 欧美色黄 | 在线观看国产一区亚洲bd | 成人福利免费视频 | 国产小视频免费看 | aaaaa级毛片免费视频 | 华人欧美国产在线精品 | 性感美女香蕉视频 | 欧美电影精品久久久久 | 国产三级理论 | 午夜视 | 中文字幕亚洲无线码 | 91在线在线啪永久地址 | 久久国产a | 国产对白91色拍高清精品 | 国产河南妇女毛片精品久久 | 欧美精品一区二区三区免费观看 | 国产成人综合精品一区 | 日韩网站免费 | 欧美变态口味重另类日韩毛片 | 特级黄色一级片 | 亚洲国产精品婷婷久久 | 青青伊人影院 |