项目中在使用mybaits-plus时,会产生mybaits-plus时如何解决sql注入的疑问,下面就让我们一探究竟!
以下代码是往条件构造器赋值
Map<String, Object> conditionMap = new HashMap<>();
if (StringUtils.isNotBlank(ruleName)) {
conditionMap.put("rule_name", ruleName);
conditionMap.put("duration", 1);
}
// sql 条件封装
QueryWrapper<DeviceMonitorInfo> queryWrapper = new QueryWrapper<>();
Page pages = new Page(page, pageSize);
// map不为空,新增条件
if (!conditionMap.isEmpty()) {
for (Map.Entry<String, Object> entry : conditionMap.entrySet()) {
queryWrapper.eq(entry.getKey(), entry.getValue());
}
}
// sql语句执行
totalRow = baseMapper.selectCount(queryWrapper);
下面可以看出,我们将参数加入了构造器的时候,mybatis-plus对于参数的赋值是用的#号而不是$号