MyBatis 中的模糊查询可以使用通配符 '%%' 和 '', 其中 '%%' 表示 0 个或多个字符,'' 表示一个字符。在 SQL 语句中,需要将模糊查询的条件放在 'LIKE' 关键字后面,例如:

<select id="selectByKeyword" resultType="User">
    SELECT * FROM user WHERE name LIKE '%%${keyword}%%'
</select>

在上述代码中,'${keyword}' 是一个动态参数,表示查询的关键字。使用 '%%' 通配符可以匹配任意字符,因此可以实现模糊查询。注意,在使用动态参数时需要使用 '${}' 而不是 '#{}', 因为 '#{}' 会进行预编译,而 '%%' 会被转义。

除了使用通配符,MyBatis 还提供了 'CONCAT()' 函数来实现字符串的拼接。例如,如果需要在查询时将关键字拼接到字符串的开头或结尾,可以使用如下的 SQL 语句:

<select id="selectByKeyword" resultType="User">
    SELECT * FROM user WHERE CONCAT(name, ' ', age) LIKE CONCAT('%', #{keyword}, '%%')
</select>

在上述代码中,'CONCAT()' 函数将 'name' 和 'age' 字段拼接成一个字符串,然后使用 'LIKE' 关键字进行模糊匹配。注意,在使用 'CONCAT()' 函数时需要将参数使用逗号分隔,而不是在字符串中使用 '+' 拼接。


原文地址: http://www.cveoy.top/t/topic/nJaH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录