mapper if标签中 list.size()>0 和list.size>0 的区别
时间: 2024-04-13 18:27:40 浏览: 90
在Mapper的`<if>`标签中,`list.size() > 0` 和 `list.size > 0` 的区别如下:
1. `list.size() > 0`:这是一个Ognl表达式,用于判断某个List类型的属性或参数的大小(元素个数)是否大于0。如果List的大小大于0,则条件成立。
2. `list.size > 0`:这是一种不正确的写法,因为`size`是一个方法,而不是一个属性。在Java中,集合的大小应该通过调用`size()`方法来获取,而不是直接访问`size`属性。因此,这种写法是无效的。
在Mapper的`<if>`标签中,应该使用正确的语法`list.size() > 0`来判断集合的大小是否大于0。
相关问题
mapper if标签中 list.size() 和list.size 的区别
在Mapper的`<if>`标签中,`list.size()` 和 `list.size` 在条件判断上有一些区别。
1. `<if test="list.size() > 0">...</if>`:这里的`list.size()` 是一个Ognl表达式,用于判断某个List类型的属性或参数的大小(元素个数)。如果List的大小大于0,则条件成立。
2. `<if test="list.size > 0">...</if>`:这里的`list.size` 是一个普通的属性或成员变量,用于判断一个整数类型的变量或参数是否大于0。但是在Mapper中,通常不会直接使用`list.size`,而是使用`list.isEmpty()`或者`list != null && list.size() > 0`来进行判断。
总结来说,`list.size()` 是一个Ognl表达式,用于判断List的大小是否大于0;而`list.size` 则是一个普通的整数类型属性,通常在Mapper中不直接使用。
@Override public ResultWrapper<Integer> insert(StandardAttrDictVO vo) { List<StandardAttrDict> list = getAllByCompanyId(HttpReqUtils.getCompanyId()); List<StandardAttrDictVO> inputs=new ArrayList<>(); ResultWrapper<Integer> verifyResult= verify(inputs,list); if(verifyResult.error()) { return verifyResult; } list.clear(); StandardAttrDict entity= voToEntity(vo); list.add(entity); mapper.insertBatch(list); return ResultWrapMapper.ok(list.size()); }
这段代码是一个Java方法,它的作用是向数据库中插入一个 `StandardAttrDictVO` 对象的数据记录。具体的实现步骤如下:
1. 调用 `getAllByCompanyId` 方法获取当前公司的所有属性字典列表,存储在 `list` 变量中。
2. 创建一个空的 `inputs` 列表。
3. 调用 `verify` 方法对输入参数 `vo` 进行验证,如果验证失败则返回错误信息。
4. 清空 `list` 列表。
5. 将输入参数 `vo` 转换成 `StandardAttrDict` 对象,并添加到 `list` 列表中。
6. 调用 `mapper.insertBatch` 方法将 `list` 列表中的数据批量插入到数据库中。
7. 返回一个包装了插入的记录数的 `ResultWrapper` 对象。
需要注意的是,这段代码中引用了其他方法和变量,需要在上下文中理解其含义。
阅读全文