栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

需求:

搜索框中可输入手机号,姓名,地址查询,后台需要对一个框中的多个字段做匹配查询。

搜索

可以在sql语句中做拼接条件查询:


AND CONCAt(r.name,a.name,a.phone,a.addr_detail) LIKE '%' #{condition} '%'

补充知识:在Mybatis xml使用mysql数据库进行多字段模糊查询(Like)

在mysql中使用Like进行一些简单轻量级的查询,并不需要考虑太多效率问题。

一、Like单字段查询比较简单。

没有特殊要求的话,直接使用%关键字%就进行左右匹配查询

.....

  ...
  
    SELECT c.* FROM contacts c
    WHERe c.delete_time IS NULL
    
      AND c.name LIKE concat('%',#{keyWord},'%')}
    
    ORDER BY c.create_time DESC
  

2、使用concat将多个字段拼接之后在进行模糊查询,相比第一种更推荐第二种,执行效率更好

.....

  ...
  
    SELECT c.* FROM contacts c
    WHERe c.delete_time IS NULL
    
      AND CONCAt(IFNULL(c.name,''),IFNULL(c.mobile,''),IFNULL(c.telephone,'')) LIKE concat('%',#{keyWord},'%')}
    
    ORDER BY c.create_time DESC