Mybatis中模糊查询的各种写法(转)

1. sql中字符串拼接
   SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');
或者
  
<if test="ordernum!=null and ordernum!=''">
        AND REVERSE(O.ORDERNUM) LIKE REVERSE('%'||#{ordernum,jdbcType=VARCHAR}||'%')
      </if>

 

2. 使用 ${...} 代替 #{...}
   SELECT * FROM tableName WHERE name LIKE '%${text}%';
 
3. 程序中拼接
   Java
   // 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. 大小写匹配查询
   SELECT *  FROM TABLENAME  WHERE UPPER(SUBSYSTEM) LIKE '%' || UPPER('jz') || '%'
   或者 
   SELECT *   FROM TABLENAME  WHERE LOWER(SUBSYSTEM) LIKE '%' || LOWER('jz') || '%'

 

posted @ 2017-11-13 14:27  javaobject  阅读(1378)  评论(0编辑  收藏  举报