您的位置:首页 > 其它

mybatis同一个搜索框对多个字段进行模糊查询

2017-09-12 15:07 633 查看
Mapper映射文件

`from QUESTION
<trim prefix="where" prefixOverrides="and \ or">
<if test="disId!=null and disId != '' " >
DIS_ID = #{disId}
</if>
<if test="category!=null" >
CATEGORY = #{category}
</if>
<if test="userId!=null" >
USER_ID like CONCAT('%',#{userId},'%' )
</if>
<if test="userType!=null" >
USER_TYPE = #{userType}
</if>
<if test="title!=null" >
or TITLE like CONCAT('%',#{title},'%' )
</if>
</trim>
</select>

其他模糊查询:

1. sql中字符串拼接
   SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');
 
2. 使用 ${...} 代替 #{...}
   SELECT * FROM tableName WHERE name LIKE '%${text}%'; 
 
3. 程序中拼接
   Java
  // or String searchText = "%" + text + "%";
   String searchText = new StringBuilder("%").append(text).append("%").toString();
   parameterMap.put("text", searchText);
 
  SqlMap.xml
   SELECT * FROM tableName WHERE name LIKE #{text};
 
4. 大小写匹配查询

[sql] view plain copy SELECT *  FROM TABLENAME  WHERE UPPER(SUBSYSTEM) LIKE '%' || UPPER('jz') || '%'  
 --或者是  
SELECT *   FROM TABLENAME  WHERE LOWER(SUBSYSTEM) LIKE '%' || LOWER('jz') || '%'  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: