mybatis模糊查询
时间: 2023-06-17 07:07:23 浏览: 138
Mybatis中可以使用通配符来实现模糊查询,常用的通配符有两种:
1. %:匹配任意字符,包括空字符。
2. _:匹配单个字符。
下面是使用Mybatis实现模糊查询的示例代码:
```
<select id="selectUsersByName" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%',#{name},'%')
</select>
```
在这个示例中,我们使用了`LIKE`关键字来进行模糊匹配,并使用了`CONCAT`函数来拼接通配符和查询参数。`#{name}`是一个占位符,表示查询参数,它可以通过方法参数或者是Map中的key来获取。
你可以将`%`通配符放在查询参数的前面、后面或者两边都放。例如:
1. 查询名字以“Tom”开头的用户:`SELECT * FROM users WHERE name LIKE 'Tom%'`
2. 查询名字包含“Tom”的用户:`SELECT * FROM users WHERE name LIKE '%Tom%'`
3. 查询名字以“Tom”结尾的用户:`SELECT * FROM users WHERE name LIKE '%Tom'`
4. 查询名字中第二个字符是“o”的用户:`SELECT * FROM users WHERE name LIKE '_o%'`
需要注意的是,如果使用了通配符进行模糊查询,查询效率可能会比较低,因为数据库需要扫描整个表来匹配查询条件,对于大表数据量比较大的情况,建议使用其他优化技术来加速查询。
阅读全文