栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

tk.mybatis.mapper.entity.Example 循环写入条件,不保留之前的检索条件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tk.mybatis.mapper.entity.Example 循环写入条件,不保留之前的检索条件

业务背景

A方法构建了一个Example 对象 放入部分初始检索条件 需要循环数据 针对每条数据构建Example 用之前的检索条件 本次的检索条件 如果直接new一个 将之前的赋值给新的 那么每次循环的时候就会将上次的条件拼上

解决方案 将初始Example的检索条件取出 每次循环的时候构建一个全新的 手动写入之前的检索条件 本次的

if (StrKit.isNotEmpty(empInfoQuery.getTag())) {
 String[] array empInfoQuery.getTag().split( , 
 List String tagList Arrays.asList(array);
 if (tagList.size() 1) {
 String tagName tagList.get(0);
 example.and().andCondition( FIND_IN_SET( tagName , tag) 
 empInfoList listVoRelationByExample(empInfoQuery.getCompanyId(), example, tokenUser.getSiteId());
 } else {
 // 如果不带标签的检索都查不到人,就没必要检索标签了
 List EmpInfoListVO empInfoListVOS listVoRelationByExample(empInfoQuery.getCompanyId(), example, tokenUser.getSiteId());
 if (CollectionUtils.isEmpty(empInfoListVOS)) {
 return new ArrayList ();
 for (String tagName : tagList) {
 Example example1 ExampleKit.copyExample(example, EmpInfoDO.class);
 example1.and().andCondition( FIND_IN_SET( tagName , tag) 
 List EmpInfoListVO empInfoListItem listVoRelationByExample(empInfoQuery.getCompanyId(), example1, tokenUser.getSiteId());
 empInfoList.addAll(empInfoListItem);
 // 去重
 empInfoList empInfoList.stream().distinct().collect(Collectors.toList());
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266967.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号