确认
- [X] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
- [X] 我已经在 issue 中搜索过, 确认问题没有被提出过
- [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题
当前程序版本
3.5.3
问题描述
while(var8.hasNext()) {
Expression expression = (Expression)var8.next();
if (expression instanceof JdbcParameter) {
++removeParamCount;
}
}
中有缺陷var8.next() 如果是 BinaryExpression 比如 update语句中带有 set column=column+?会有exception
if (expression instanceof BinaryExpression) {
BinaryExpression subtraction = (BinaryExpression)expression;
boolean hasJdbcParameter = false;
if (subtraction.getLeftExpression() instanceof JdbcParameter || subtraction.getRightExpression() instanceof JdbcParameter) {
++removeParamCount;
}
} else if (expression instanceof JdbcParameter) {
++removeParamCount;
}
类似这样的修复,当然可能还有其他负责的expression 我没有去测试
详细堆栈日志
No response
Comment From: nieqiurong