当前使用版本(必填,否则不予处理)
该问题是如何引起的?(确定最新版也有问题再提!!!)
在连表查询中使用模糊查询,条件中带有特殊字符会有sql注入问题,原因使用
""
SELECT COUNT(1) FROM tb_person p LEFT JOIN tb_person_audit pa ON p.id = pa.person_id WHERE ( p.name LIKE ?) ${ew.customSqlSegment}不会进行字符转义,当参数使用 【test%】或【test_】查询结果不正确,无法进行匹配 已尝试过使用拦截器预处理字符转义,但没有办法从AbstractWrapper的判断当前模糊属于是 likeright 还是likeleft、like ,或者获取到实际入参
重现步骤(如果有就写完整)
报错信息
查询失败
Comment From: qmdx
经过测试 % 不影响模糊查询,该字符会忽略 https://github.com/baomidou/mybatis-plus/commit/5b89451c0ab6481c51f81fdac399b99ec15879b4
如果是你的数据库处理问题,建议自行过滤特殊字符