<返回更多

在 MyBatis 中模糊查询 like 语句该怎么写

2023-04-16    
加入收藏

MyBatis 中,可以使用${}#{}来拼接 SQL 语句中的参数。在进行模糊查询时,需要使用通配符 % 表示任意字符,具体写法如下:

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

在这种方式下,${}会直接将传入的参数拼接到 SQL 语句中,容易受到 SQL 注入攻击。

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

在这种方式下,#{}会使用预编译语句来处理参数,可以防止 SQL 注入攻击。同时,MyBatis 还提供了CONCAT()函数来连接字符串,避免使用字符串拼接运算符+

需要注意的是,使用#{}时,如果传入的参数是 null,MyBatis 会将它转换成一个空字符串。因此,在使用模糊查询时,需要对参数进行非空判断,避免查询结果异常。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>