List<TVehcertUploadLog> list = tVehcertUploadLogService.list(new LambdaQueryWrapper<TVehcertUploadLog>().eq(StringUtils.isNotBlank(tVehcertUploadLog.getVin()),TVehcertUploadLog::getVin,tVehcertUploadLog.getVin())连表查询T_DLLX不适用.leftjoin
时间: 2024-02-01 18:16:43 浏览: 140
如果要进行连表查询T_DLLX,可以使用以下方式:
```
List<TVehcertUploadLog> list = tVehcertUploadLogService.list(new LambdaQueryWrapper<TVehcertUploadLog>()
.eq(StringUtils.isNotBlank(tVehcertUploadLog.getVin()), TVehcertUploadLog::getVin, tVehcertUploadLog.getVin())
.leftJoin(T_DLLX.class, TVehcertUploadLog::getDlbh, T_DLLX::getDlbh)
.list());
```
这里使用了 `leftJoin` 进行左连接查询,并在参数中指定了两个实体类之间的关联关系。需要根据实际情况做出修改。
相关问题
public ResponseData<List<ConfigItemDO>> queryDisplayDataByCode(String dictCode) { LambdaQueryWrapper<ConfigItemDO> wrapper = Wrappers.lambdaQuery(ConfigItemDO.class); wrapper.eq(ConfigItemDO::getDictCode, dictCode); List<ConfigItemDO> configItemDOList = getBaseMapper().queryByDictCode(dictCode); String orgIdentifier = baseBean.getUserInfo().getOrgInfo().getOrgIdentifier(); List<ConfigItemDO> itemList = new ArrayList<>(); configItemDOList.forEach(configItemDO -> { List<ConfigItemDO.AuthorityOrg> orgList = configItemDO.getAuthorityOrg(); for (int i = 0; i < orgList.size(); i++) { StringUtils.equals(orgList.get(i).getOrgIdentifier(), orgIdentifier); itemList.add(configItemDO); } }); if (CollectionUtils.isEmpty(itemList)) { String[] parts = orgIdentifier.split("-"); if (parts.length == 1) { return new ResponseData<>(new ArrayList<>()); } String parentOrgIdentifier = ""; while (true) { for (int i = 0; i < parts.length - 1; i++) { parentOrgIdentifier = parentOrgIdentifier + parts[i]; } if (StringUtils.isNotBlank(parentOrgIdentifier)) { for (int i = 0; i < configItemDOList.size(); i++) { List<ConfigItemDO.AuthorityOrg> orgList = configItemDOList.get(i).getAuthorityOrg(); for (int j = 0; j < orgList.size(); i++) { StringUtils.equals(orgList.get(i).getOrgIdentifier(), parentOrgIdentifier); itemList.add(configItemDOList.get(i)); } } parts = parentOrgIdentifier.split("-"); if (CollectionUtils.isNotEmpty(itemList) || parts.length == 1) { break; } } } } return new ResponseData<>(itemList); }
这段代码看起来像是 Java 语言编写的一个查询方法,输入参数为一个字符串类型的字典编码 dictCode,返回一个 ResponseData<List<ConfigItemDO>> 类型的数据。在方法中,使用了 LambdaQueryWrapper 对象封装了一个查询条件,然后通过调用 getBaseMapper() 方法执行查询操作,将结果保存在 configItemDOList 变量中。随后,通过遍历 configItemDOList,将符合当前用户所在组织机构的数据保存在 itemList 变量中。如果 itemList 为空,则继续向上查找所属组织机构,直到找到数据为止。最终,将 itemList 封装在 ResponseData 对象中并返回。
public List<Document> listDocument(PageInfo<?> pageInfo, Document document) { PageHelper.startPage(pageInfo.getCurrent(), pageInfo.getPageSize()); List<Document> documentList = documentMapper.selectList(Wrappers.<Document>lambdaQuery() .like(StringUtils.isNotBlank(document.getTitle()), Document::getTitle, document.getTitle()) .like(StringUtils.isNotBlank(document.getSummary()), Document::getSummary, document.getSummary()) .eq(document.getCateId() != null, Document::getCateId, document.getCateId()) .eq(document.getDeptId() != null, Document::getDeptId, document.getDeptId()) .eq(document.getActive() != null, Document::getActive, document.getActive()) .eq(document.getRecommend() != null, Document::getRecommend, document.getRecommend()) .eq(document.getCarousel() != null, Document::getCarousel, document.getCarousel()) .orderByDesc(Document::getDateTime) ); if (!documentList.isEmpty()) { List<Long> documentIdList = documentList.stream().map(Document::getCateId).collect(Collectors.toList()); Map<Long, Cate> cateMap = cateMapper.selectBatchIds(documentIdList).stream().collect(Collectors.toMap(Cate::getId, e -> e, (e1, e2) -> e2)); for (Document documentItem : documentList) { documentItem.setCate(cateMap.get(documentItem.getCateId())); } } return documentList; }
这段代码是一个用于根据条件查询文档列表的方法。方法的参数包括一个 PageInfo 对象和一个 Document 对象。PageInfo 是用于分页查询的工具类,包含当前页码和页面大小等信息。Document 是文档的实体类。
在方法内部,首先使用 PageHelper.startPage() 方法设置分页参数。然后使用 documentMapper.selectList() 方法进行查询,查询条件使用了 Wrappers.<Document>lambdaQuery() 来构建。
在 lambdaQuery() 内部,根据传入的 document 对象的属性值来构建查询条件。使用 StringUtils.isNotBlank() 判断属性值是否为空,如果不为空,则使用 like() 方法进行模糊匹配,如果为空则不添加该条件。使用 eq() 方法进行相等匹配。
最后,通过 orderByDesc() 方法按照文档的日期时间进行降序排序。
如果查询结果不为空,则通过 documentList.stream().map().collect(Collectors.toList()) 获取文档列表中的所有文档分类ID,并使用 cateMapper.selectBatchIds() 批量查询对应的文档分类信息。
然后,通过遍历文档列表,并通过 cateMap.get() 方法设置每个文档的分类信息。
最后,返回查询结果 documentList。
阅读全文