mybatis 模糊查询

来源:互联网 发布:手机淘宝怎么关闭店铺 编辑:程序博客网 时间:2024/06/07 06:35

工作中用到,写三种用法吧,第四种为大小写匹配查询

1. sql中字符串拼接

   SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');

 

2. 使用 ${...} 代替 #{...}

   SELECT * FROM tableName WHERE name LIKE '%${text}%';

    这种方式不会预编译,传入的参数会直接拼接到sql语句中发送给数据库 ,会有sql注入的危险,text=  ' or 1 like '1。

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') || '%'


 

原帖地址:http://blog.csdn.net/luqin1988/article/details/7865643

0 0