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中的模糊查询的主要内容,如果未能解决你的问题,请参考以下文章