欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MyBatis 模糊匹配搜索实现

程序员文章站 2022-07-07 22:37:30
业务需求:根据城市筛选返回符合要求的结果   看似很容易呀 问题在于要筛选的字段,这里我们有一个字段为region_limit,这里面的存储内容为城市id,如1,2...

业务需求:根据城市筛选返回符合要求的结果

 

看似很容易呀

问题在于要筛选的字段,这里我们有一个字段为region_limit,这里面的存储内容为城市id,如1,2,3 或者为商圈id,如3,4,5

 

搜索实现:

其中 zoneList为前台选择的城市对应的所有商圈

 

 SELECT PA.id,PA.balance_name,PA.name,PA.total_times,PA.start_time,PA.end_time,PA.template_id, PA.region_limit_type,PA.region_limit from lyancafe.t_promotion_activity PA where active='Y'  and ((region_limit like CONCAT('%',',${cityId},','%' ) or region_limit like CONCAT('%',',${cityId}') or region_limit like CONCAT('${cityId},','%' ) or region_limit like '${cityId}') and region_limit_type='c' ) or (region_limit_type = 'z' and  pa.region_limit like CONCAT('%',',${region},','%' ) or pa.region_limit like CONCAT('%',',${region}' ) or pa.region_limit like CONCAT('${region},','%' ) or pa.region_limit like '${region}' ) 

仔细观察Concat中的逗号位置。