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 的一整套东西就会自动给我们配置好,但是,真实的项目环境比 ...
随机推荐
- 链表队列(LinkedListQueue)
栈操作 入队 template<typename T> void LinkedListQueue<T>::enqueue(T e) { if (tail == nullptr) ...
- #NIM游戏#CodeChef A Game With a Sheet of Paper
SHGAME 分析 可以发现每次相当于去掉上下左右的若干行列,也就是 \(x-1,n-1-x,y-1,m-1-y\) 题目就转换成了取石子的问题,先手必胜当且仅当 \((x-1)\) xor \((n ...
- Docker学习路线2:底层技术
了解驱动Docker的核心技术将让您更深入地了解Docker的工作原理,并有助于您更有效地使用该平台. Linux容器(LXC) Linux容器(LXC)是Docker的基础. LXC是一种轻量级的虚 ...
- SSM框架整合——书籍管理系统
1.准备工作: 1.1.环境要求 IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 1.2.数据库设计 创建一个存放书籍数据的数据库表: CREATE DATABASE `ss ...
- Qt Create开发,修改 .Pro 文件改变 exe 的名称
// .pro // 修改 TARGET 就可以改变生成的exe的名称 TARGET = Test // 要是生成的exe名称中需要带有空格,需要用到$$quote TARGET = $$quote( ...
- mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并用mmdeploy sdk推理)
mmdeploy源码安装 (转换faster rcnn r50/yolox为tensorrt,并进行推理) 这个系列是一个随笔,是我走过的一些路,有些地方可能不太完善.如果有那个地方没看懂,评论区问就 ...
- 实训篇-JavaScript-陶渊明去没去过桃花源
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- python异步字符串查找,asyncio和marisa_trie
自然语言处理当中经常需要字符串的查找操作,比如通过查找返回字串在文本当中的位置,比如通过匹配实现的ner import pandas as pd import asyncio # data = pd. ...
- Django框架——csrf跨站请求伪造、csrf校验、csrf相关装饰器、auth认证、auth认证相关模块及操作
csrf跨站请求伪造 钓鱼网站:模仿一个正规的网站 让用户在该网站上做操作 但操作的结果会影响到用户正常的网站账户 但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费 但是你会发现卡里的钱扣了但是 ...
- 力扣2(java&python)-两数相加(中等)
题目: 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设除了数 ...