提问人:senz 提问时间:9/25/2023 最后编辑:senz 更新时间:9/25/2023 访问量:77
mybatis list foreach 为 null
mybatis list foreach is null
问:
在执行 sql 之前,我已经在 java 代码中确定列表不为空,但偶尔会有 sql 是错误的。
有时生产 sql 是
select name from user where id in
Service.java ObjectUtils 是 org.apache.commons.lang3.ObjectUtils
我知道不能直接在parallelStream中添加,应该使用Collectors.toSet。
我想知道的是,这个错误sql与list.parallelStream有关
public List<String> queryByIds() {
Set<Long> ids = new HashSet<>();
list.parallelStream().forEach(obj -> {
ids.add(obj.id)
}
if (ObjectUtils.isEmpty(ids)){
return Collections.emptyList();
}
return mapper.queryByIds(ids);
}
mapper.java
List<String> queryByIds(@Param("list") Set<Long> ids);
mapper.xml
<select id="queryByIds" resultType="java.lang.String">
select name from user where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
答: 暂无答案
评论
<if test="list.size == 0">