当前位置: 首页 > news >正文

若依框架中返回自定义实体类分页数据和总记录数的实现方法

在使用若依(RuoYi)框架时,通常需要返回一个包含数据和总记录数的分页结果。若依框架中,分页结果通常封装在 AjaxResultTableDataInfo 类中。以下是一个示例,展示如何在自定义实体类的情况下返回分页数据和总记录数。

1. 定义实体类

首先,定义你的实体类 SwitchRecognitionLogResponse

public class SwitchRecognitionLogResponse {private Long id;private String name;private String status;private Date createTime;// Getters and Setterspublic Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}
}

2. 创建分页方法

在你的服务层或控制器中,创建一个方法来处理分页逻辑并返回结果。假设你已经有一个方法 getDataTable 来获取分页数据。

import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;
import java.util.Date;
import java.util.List;@RestController
@RequestMapping("/api/recognition")
public class RecognitionController extends BaseController {@GetMapping("/log")public R<TableDataInfo> getRecognitionLogs() {// 模拟数据List<SwitchRecognitionLogResponse> recognitionLogResponses = new ArrayList<>();for (int i = 0; i < 10; i++) {SwitchRecognitionLogResponse log = new SwitchRecognitionLogResponse();log.setId((long) i);log.setName("Recognition Log " + i);log.setStatus("Active");log.setCreateTime(new Date());recognitionLogResponses.add(log);}// 模拟总记录数int total = 100;// 创建 TableDataInfo 对象TableDataInfo tableDataInfo = new TableDataInfo();tableDataInfo.setCode(200);tableDataInfo.setMsg("success");tableDataInfo.setRows(recognitionLogResponses);tableDataInfo.setTotal(total);return R.ok(tableDataInfo);}
}

3. 返回分页数据

在上述代码中,我们创建了一个 TableDataInfo 对象,其中包含以下内容:

  • code:状态码,通常为200表示成功。
  • msg:返回信息,通常为 “success”。
  • rows:分页数据,即 recognitionLogResponses
  • total:总记录数。

最后,我们使用 R.ok 方法将 TableDataInfo 封装为 AjaxResult 对象并返回。

4. 测试接口

启动你的应用后,可以通过访问 /api/recognition/log 接口来测试返回的分页数据。返回的 JSON 数据应该类似于以下格式:

{"code": 200,"msg": "success","data": {"code": 200,"msg": "success","rows": [{"id": 0,"name": "Recognition Log 0","status": "Active","createTime": "2025-05-26T14:30:00"},{"id": 1,"name": "Recognition Log 1","status": "Active","createTime": "2025-05-26T14:30:00"},...],"total": 100}
}

总结

通过上述步骤,你可以轻松地在若依框架中返回分页数据和总记录数。希望这个示例对你有帮助!如果有任何问题或需要进一步的解释,请随时告诉我。

相关文章:

  • 【鸿蒙开发】Hi3861学习笔记-雨滴传感器
  • 433M射频接收芯片 XL520 产品特性,空旷环境下通讯距离可达200米
  • liunx、ubantu22.04安装neo4j数据库并设置开机自启
  • 【多智能体系统开发框架AutoGen解析与实践】
  • 【关于C++跨平台开发的挑战】
  • World of Warcraft [CLASSIC] Jewelcrafting Gemstone 3 [80 WLK]
  • 什么是风控合规?企业如何高效构建风控合规体系?
  • Python多线程:超详细实例讲解线程的创建
  • 一个简单的系统插桩实现​
  • AI时代新词-人工智能生成内容(AIGC)
  • Python环境搭建
  • jsoup解析页面过程中保留页面中的换行符
  • new对象时,堆会发生抢占吗
  • Docker Volume(存储卷)
  • Netty学习专栏(六):深度解析Netty核心参数——从参数配置到生产级优化
  • SpringBoot3集成Oauth2.1——6数据库存储客户端信息
  • 【数字图像处理】_笔记
  • OpenGAN:基于开放数据生成的开放集识别
  • OceanBase数据库全面解析(高级特性篇)
  • 每日Prompt:黄沙大圣
  • 做搜索网站挣钱/网页seo搜索引擎优化
  • ps网站轮播图怎么做的/seo快速排名案例
  • 做网站私活多少钱/怎么做游戏推广员
  • 成都游戏网站开发/网络营销公司排行
  • 天河建设网站系统/怎么让百度收录
  • 宁波高端网站制作公司/代做百度收录排名