Mybatis中的模糊查询

Posted sometimes-ever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis中的模糊查询相关的知识,希望对你有一定的参考价值。

1. sql中字符串拼接

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

我就是按照此方法实现了功能。

 其实还有种方法:像这样写也行:

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

以上是关于Mybatis中的模糊查询的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis中的模糊查询

MyBatis中的模糊查询

mybatis模糊查询sql

Mybatis中mapper.xml中的模糊查询

mybatis参数date怎么模糊查询

Mybatis中的模糊查询