Mybatis 模糊查询时 LIKE 后面的字段处理
问题描述
当使用 Mybatis 使用模糊查询时 LIKE 关键字后面如果使用 %${name}% 是不行的
原因
${} 不能在拼 sql 语句时将两边的 % 拼起来,
导致程序报错 sql 语法有问题
Error querying database. Cause: java.sql.SQLException: sql injection violation,
SQL 语句显示为如下,表示 %?% 时不对的
AND name LIKE %?%
解决办法
- 提前将需要查询的字符加上百分号
- 在 sql 语句中用 contact 函数拼接百分号
坚持做好每件事,然后再做下一件。