当前使用版本(必填,否则不予处理)
3.3.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
在QueryWrapper 进行查询时,设置了多个条件。 如:
QueryWrapper<SpotCheckVO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("charge_user","张三");
queryWrapper.eq("is_deleted", 0);
````
设置2个条件,在其他地方获取条件的个数,
如:
Map
源码:
protected final String formatSqlIfNeed(boolean need, String sqlStr, Object... params) { if (!need || StringUtils.isBlank(sqlStr)) { return null; } if (ArrayUtils.isNotEmpty(params)) { for (int i = 0; i < params.length; ++i) { String genParamName = Constants.WRAPPER_PARAM + paramNameSeq.incrementAndGet(); sqlStr = sqlStr.replace(String.format("{%s}", i), String.format(Constants.WRAPPER_PARAM_FORMAT, Constants.WRAPPER, genParamName)); paramNameValuePairs.put(genParamName, params[i]); } } return sqlStr; } ``` 只有在formatSqlIfNeed方法被调用时才会向paramNameValuePairs存值。
建议:
可否在添加条件的时候就把paramNameValuePairs里放值,这样方便随时判断条件的个数
重现步骤(如果有就写完整)
无
报错信息
无
Comment From: huayanYu
欢迎pr
Comment From: miemieYaho
不支持,这是java的流式操作