分页联合查询实现方法(Java)

news/2024/7/8 4:51:58 标签: java

controller层

java">  @GetMapping("/page")
    @Operation(summary = "获得标注属性管理分页")
    public CommonResult<PageResult<MarkerPropertyViewVO>> getMarkerPropertyPage(@Valid MarkerPropertyPageReqVO pageVO) {
        PageResult<MarkerPropertyDO> pageResult = markerPropertyService.getMarkerPropertyPage(pageVO);
        PageResult<MarkerPropertyViewVO> result = new PageResult<>();
        // 创建一个新的List来存储转换后ViewVO对象
        List<MarkerPropertyViewVO> viewVOList = new ArrayList<>();
        pageResult.getList().forEach(markerPropertyDO -> {
            MarkerPropertyViewVO markerPropertyViewVO = MarkerPropertyConvert.INSTANCE.convertView(markerPropertyDO);
      
//根据自身需求自行实现(可修改)      markerPropertyViewVO.setPropertyViewName(String.valueOf(markerPropertyService.getViewNameFromLabel(markerPropertyDO.getPropertyLabel())));
            viewVOList.add(markerPropertyViewVO);
        });

        // 设置转换后的列表到PageResult中
        result.setList(viewVOList);
        result.setTotal(pageResult.getTotal());

        return success(result);
    }

MarkerPropertyBaseVO实体

java">@Data
public class MarkerPropertyBaseVO {
    @Schema(description = "标注物id")
    private Long id;

    @Schema(description = "标注物名称", required = true)
    @NotNull(message = "标注物名称不能为空")
    private String markerObjectName;

    @Schema(description = "属性名标签", required = true)
    @NotNull(message = "属性名标签不能为空")
    private String label;

    @Schema(description = "属性名key", required = true)
    @NotNull(message = "属性名key不能为空")
    private String labelKey;

    @Schema(description = "属性名结构", required = true)
    @NotNull(message = "属性名结构不能为空")
    private String propertyLabel;

    @Schema(description = "属性key结构", required = true)
    @NotNull(message = "属性key结构不能为空")
    private String propertyKey;

}

MarkerPropertyViewVO实体

java">@Data
public class MarkerPropertyViewVO extends MarkerPropertyBaseVO{

    @Schema(description = "属性名结构View")
    private String propertyViewName;

    @Schema(description = "属性key结构View")
    private String propertyViewKey;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;


}

getMarkerPropertyPage(pageVO)方法

java">//Service层

    PageResult<MarkerPropertyDO> getMarkerPropertyPage(MarkerPropertyPageReqVO pageReqVO);


//Impl实现层
    @Override
    public PageResult<MarkerPropertyDO> getMarkerPropertyPage(MarkerPropertyPageReqVO pageReqVO) {
        return markerPropertyMapper.selectPage(pageReqVO);
    }


//Mapper层
@Mapper
public interface MarkerPropertyMapper extends BaseMapperX<MarkerPropertyDO> {

    default PageResult<MarkerPropertyDO> selectPage(MarkerPropertyPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<MarkerPropertyDO>()
                .likeIfPresent(MarkerPropertyDO::getMarkerObjectName, reqVO.getMarkerObjectName())
                .orderByDesc(MarkerPropertyDO::getId));
    }
}

MarkerPropertyConvert.INSTANCE.convertView(markerPropertyDO)方法

java">@Mapper
public interface MarkerPropertyConvert {

    MarkerPropertyConvert INSTANCE = Mappers.getMapper(MarkerPropertyConvert.class);

    MarkerPropertyViewVO convertView(MarkerPropertyDO bean);

}


http://www.niftyadmin.cn/n/5536990.html

相关文章

AIGC文生图lora微调训练案例;SD-Train界面训练stable Diffusion lora模型

lora仓库&#xff08;1000多个lora微调模型分享&#xff09;&#xff1a; https://lorastudio.co/models 1、命令代码方式&#xff1a;文生图lora微调训练案例 主要用huggingface相关包&#xff1a;peft、accelerate、diffusers 参考&#xff1a; https://huggingface.co/blo…

眼动追踪技术 | 眼动的分类和模型

摘要 灵长类动物用于调整中央凹位置的正常眼动&#xff0c;几乎都可以归结为五种基本类型的组合&#xff1a;扫视、平稳追踪、聚散、前庭眼震和生理性眼震(与注视相关的微小运动)。聚散运动用于将双眼聚焦于远处的目标(深度知觉)。其他运动(如适应和聚焦)指的是眼动的非位置变…

手写Spring-MVC之前后置处理器与异常处理、数据库框架

Day48 手写Spring-MVC之前后置处理器与异常处理 前后置处理器 概念&#xff1a;从服务器获取的JSON数据可能是加密后的&#xff0c;因此服务端获取的时候需要进行解密&#xff08;前置处理器&#xff09;。 而从服务器传出的JSON数据可能需要加密&#xff0c;因此需要在处理返…

IDEA 开发工具

IDEA 开发工具 IDEA软件激活新建项目新建project 运行调试 IDEA软件激活 访问激活码网进入带*的域名下载并解压左上角的zip包先执行sh uninstall.sh&#xff0c;再执行sh install.sh在带*的网页中复制并使用激活码code 新建项目 新建project file》New〉Project》New Proje…

第二节-K8s词汇表

关键字词汇表 https://kubernetes.io/zh-cn/docs/reference/glossary/?fundamentaltrue API Group (API 组)Kubernetes API 中的一组相关路径。 API 服务器亦称作:kube-apiserver API 服务器是 Kubernetes 控制平面的组件&#xff0c; 该组件负责公开了 Kubernetes API&…

[C++初阶]vector的初步理解

一、标准库中的vector类 1.vector的介绍 1. vector是表示可变大小数组的序列容器 &#xff0c; 和数组一样&#xff0c;vector可采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组一样高效。但是又不像数组&#xff0c;它的大…

超融合服务器挂载硬盘--linux系统

项目中需要增加服务器的硬盘容量&#xff0c;通过超融合挂载了硬盘后&#xff0c;还需要添加到指定的路径下&#xff0c;这里记录一下操作步骤。 一&#xff1a;通过管理界面挂载硬盘 这一步都是界面操作&#xff0c;登录超融合控制云台后&#xff0c;找到对应的服务器&#…

[Day 24] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在自動駕駛中的應用 1. 簡介 自動駕駛技術是現代交通領域的一個革命性進展。通過結合人工智能&#xff08;AI&#xff09;、機器學習&#xff08;ML&#xff09;、深度學習&#xff08;DL&#xff09;和傳感器技術&#xff0c;自動駕駛汽車可以在無人干預的情況下安全駕駛。…