jeecg-boot中分页接口用自定义sql和list实现
1、controller中
@ApiOperation(value="分析仪工作状态和报警-3列-分页", notes="分析仪工作状态和报警状态-分页")
@ApiImplicitParams({
@ApiImplicitParam(name = "portId", value = "监测点id", required = true, dataType = "String",paramType = "query",defaultValue="130500000193-10"),
@ApiImplicitParam(name = "polId", value = "监测因子id", required = true, dataType = "String",paramType = "query",defaultValue="a21002"),
@ApiImplicitParam(name = "startTime", value = "开始时间", required = true, dataType = "String",paramType = "query",defaultValue ="2021-11-29 00:00:00" ),
@ApiImplicitParam(name = "endTime", value = "结束时间", required = true, dataType = "String",paramType = "query",defaultValue="2021-11-30 00:00:00"),
@ApiImplicitParam(name = "portType", value = "监测点类型1废水2废气dgi数采仪", required = true, dataType = "String",paramType = "query",defaultValue="2")
})
@GetMapping(value = "/getDeviceStatusWarn")
public Result<?> getDeviceStatusWarn(String portId,String polId,String startTime,String endTime,String portType,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<Map<String,Object>> page = new Page<Map<String,Object>>(pageNo, pageSize);
IPage<Map<String,Object>> pagelist = wwDeviceChangeparamService.getDeviceStatusWarn(page,portId,polId,startTime,endTime,portType);
return Result.ok(pagelist);
}
2、interface中
IPage<Map<String,Object>> getDeviceStatusWarn(Page<Map<String,Object>> page, String portId, String polId, String startTime, String endTime, String portType);
3、实现类中
@Override
public IPage<Map<String,Object>> getDeviceStatusWarn(Page<Map<String,Object>> page, String portId, String polId, String startTime, String endTime, String portType)
{
Date startTime1= DateUtil.strToDate(startTime,"yyyy-MM-dd HH:mm:ss");
Date endTime1= DateUtil.strToDate(endTime,"yyyy-MM-dd HH:mm:ss");
if(portType.equals("2"))
{
return wwDeviceChangeparamMapper.getDeviceStatusWarn_gas(page,portId,polId,startTime1,endTime1);
}
else if(portType.equals("1"))
{
return wwDeviceChangeparamMapper.getDeviceStatusWarn_water(page,portId,polId,startTime1,endTime1);
}
else
{
return wwDeviceChangeparamMapper.getDeviceStatusWarn_dgi(page,portId,polId,startTime1,endTime1);
}
}
4、mapper中
IPage<Map<String,Object>> getDeviceStatusWarn_dgi(Page<Map<String,Object>> page, String portId, String polId, Date startTime, Date endTime);
5、xml中
<select id="getDeviceStatusWarn_dgi" resultType="java.util.Map">
select to_char(p.datatime,'YYYY-MM-DD HH24:MI:SS') datatime,
String_agg(CASE state_id WHEN'i22001' THEN state_info ELSE '' END,',') as workstatus,
String_agg(CASE WHEN state_id='i22004' and pol_id=#{polId} THEN state_info ELSE '' END,',') as warnstatus,
String_agg(CASE state_id WHEN'i22005' THEN state_info ELSE '' END,',') as warninfo
from ww_device_param p , v_ps_port port
where p.mn=port.dgi_mn and p.dt='1'
and port.port_id=#{portId}
and p.datatime>=#{startTime}
and p.datatime<=#{endTime}
group by p.datatime
order by p.datatime
</select>
jeecg-boot中分页接口用自定义sql和list实现的更多相关文章
- spring boot集成mybatis-plus插件进行自定义sql方法开发时报nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
spring boot集成mybatis-plus插件进行自定义sql方法开发时报nested exception is org.apache.ibatis.binding.BindingExcept ...
- 解决spring boot中rest接口404,500等错误返回统一的json格式
在开发rest接口时,我们往往会定义统一的返回格式,列如: { "status": true, "code": 200, "message" ...
- 聊一聊 Spring Boot 中 RESTful 接口设计规范
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分 ...
- 无规矩不成方圆,聊一聊 Spring Boot 中 RESTful 接口设计规范
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分 ...
- spring boot 中 CommandLineRunner接口使用
接口定义:接口,用于指示bean包含在SpringApplication中时应运行.可以在同一应用程序上下文中定义多个CommandLineRunner bean,并可以使用ordered接口或@Or ...
- 在 Spring Boot 中使用 Flyway
一.Flyway 介绍 Flyway 是一个开源的数据库迁移工具,MySQL, SQL Server, Oracle 等二十多种数据库 在 Flyway 中数据库的所有改变均称为迁移(migratio ...
- Spring Boot 中自定义 SpringMVC 配置,到底继承谁哪一个类或则接口?
看了这篇文章,写的非常的言简意赅,特此记录下: 1.Spring Boot 1.x 中,自定义 SpringMVC 配置可以通过继承 WebMvcConfigurerAdapter 来实现. 2.Sp ...
- 如何优雅地在 Spring Boot 中使用自定义注解,AOP 切面统一打印出入参日志 | 修订版
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Spring Boot 中关于自定义异常处理的套路!
在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring 中 @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案.Spring Boot 中,对异常的处理有 ...
- Spring Boot2 系列教程(十八)Spring Boot 中自定义 SpringMVC 配置
用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比 ...
随机推荐
- C++设计模式 - 工厂方法(Factory Method)
对象创建模式 通过"对象创建"模式绕开new ,来避免对象创建( new )过程中所导致的紧耦合(依赖具体类) , 从而支持对象创建的稳定.它是接口抽象之后的第一步工作. 典型模式 ...
- #分块,懒标记#LOJ 3631「2021 集训队互测」学姐买瓜
题目传送门 分析 有一个很简单的做法就是处理出每个位置能够一次到达的最左边的右端点(后继). 然后直接从 \(l\) 开始能跳就跳,这样单次询问时间复杂度是 \(O(n)\) 的. 观察到时间复杂度因 ...
- #线段树#CF438D The Child and Sequence
题目 支持区间求和,区间取模,单点修改 分析 首先区间取模一直不停取模最多log次是有效的, 所以处理区间最大值,若区间最大值小于模数直接退出,否则暴力修改 时间复杂度\(O(mlog^2n)\) 代 ...
- 使用OHOS SDK构建cityhash
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone https://github.com/google/cityhash.git 从v ...
- OpenHarmony社区运营报告(2023年8月)
本月快讯 ● 2023年8月3日,OpenAtom OpenHarmony(以下简称"OpenHarmony")发布了Beta2版本.OpenHarmony 4.0 Beta2 ...
- 如何通过OpenHarmony的音频模块实现录音变速功能?
简介 OpenAtom OpenHarmony(以下简称"OpenHarmony")是由开放原子开源基金会孵化及运营的开源项目,是面向全场景.全连接.全智能时代的智能物联网操作系统 ...
- openGauss事务机制中MVCC技术的实现分析
openGauss 事务机制中 MVCC 技术的实现分析 概述 事务 事务是为用户提供的最核心.最具吸引力的数据库功能之一.简单地说,事务是用户定义的一系列数据库操作(如查询.插入.修改或删除等)的集 ...
- Minio架构简介
简介 Minio是一个go编写基于Apache License v2.0开源协议的对象存储系统,是为海量数据存储.人工智能.大数据分析而设计,它完全兼容Amazon S3接口,十分符合存储大容量的非结 ...
- HarmonyOS实现静态与动态数据可视化图表
一. 样例介绍 本篇Codelab基于switch组件和chart组件,实现线形图.占比图.柱状图,并通过switch切换chart组件数据的动静态显示.要求实现以下功能: 1. 实现静态数据可视化 ...
- Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件-Nacos 、Sentinel等
概述 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件. 方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发 ...