MyBatis 全局模糊查询实现方法 - 使用 '%' 通配符
在 MyBatis 中进行全局模糊查询可以通过在 SQL 语句中使用 '%%' 通配符实现。
例如,假设有一个用户表 user,其中包含 id、username、email 三个字段,我们需要按照关键字在这三个字段中进行模糊查询,可以编写如下 SQL 语句:
SELECT * FROM user
WHERE id LIKE CONCAT('%', #{keyword}, '%')
OR username LIKE CONCAT('%', #{keyword}, '%')
OR email LIKE CONCAT('%', #{keyword}, '%');
上述 SQL 语句使用了 CONCAT 函数将 '%%' 和关键字拼接成了一个字符串,然后在 LIKE 条件中使用这个字符串进行模糊匹配。在 MyBatis 中,#{keyword} 是一个参数占位符,实际查询时会将其替换成实际的关键字。
在 Mapper 接口中定义方法,传入关键字参数并调用该 SQL 语句即可实现全局模糊查询:
public interface UserMapper {
List<User> search(String keyword);
}
<select id="search" resultType="User">
SELECT * FROM user
WHERE id LIKE CONCAT('%', #{keyword}, '%')
OR username LIKE CONCAT('%', #{keyword}, '%')
OR email LIKE CONCAT('%', #{keyword}, '%')
</select>
原文地址: https://www.cveoy.top/t/topic/mjpP 著作权归作者所有。请勿转载和采集!