前端是leyui后端sqlserver和maraDB进行分页

项目场景:

前端是leyui后端sqlserver和maraDB进行分页,两种数据库在后端分页的不同写法


解决方案:

前端:

定义table,表格的格式在接口返回时进行创建,根据id进行绑定

 <div class="layui-tab-item layui-show" style="padding-top: 10px"><div class="layui-card-body" style="padding:20px 0px;width: 100%"><table class="layui-hide" id="Distribution" lay-filter="Distribution"></table></div></div>

此处用于定于表格的表头处的按钮

<script type="text/html" id="toolbarDemo"><div class="layui-btn-container"><button type="button" class="layui-btn layui-btn-sm" style="background-color: #1E9FFF" id="button1" lay-event="day">今日配送</button><button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="button2" style="background-color: #FFB800"  lay-event="week">本周配送</button><button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="button3"  style="background-color: #FF5722"  lay-event="month">本月配送</button><button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="button4" lay-event="all">查看全部</button></div>
</script>

 定义url和参数以及table和表头处的id选择集

toolbar: '#toolbarDemo', 接收表头id

elem: '#Distribution', 接收table的id

function loadBottledGasHouse (companyID,distributionPerson,customerName,carNum,distributionType,distributionAddress,startTime,endTime){table.render({elem: '#Distribution',url: 'xxx/xxx',toolbar: '#toolbarDemo',page: true,method: 'post',limit: 10,limits: [10, 30, 50,100,300,500],cellMinWidth: 110,where: {"comID": companyID,"distributionPerson": distributionPerson,"customerName": customerName,"carNum": carNum,"distributionType": distributionType,"distributionAddress": distributionAddress,"startTime": startTime,"endTime": endTime},cols: [[{field: 'id', sort: true, title: 'ID', hide: true},{field: 'companyName', sort: true, title: '所属公司',  align: "center",width:200},{field: 'carNum', sort: true, title: '车牌号',  align: "center",width:120},{field: 'customerName', sort: true, title: '客户姓名',  align: "center",width:120},{field: 'customerPhone', sort: true, title: '客户电话',  align: "center",width:120},{field: 'distributionAddress', sort: true, title: '配送地址',  align: "center",width:150},{field: 'distributionType', sort: true, title: '配送方式',  align: "center",width:120,templet : function(d) {var distributionType = d.distributionType;if(distributionType==1){return '整罐换气'}if(distributionType==2){return '自有钢瓶'}if(distributionType==3){return '现场充气'}}},{field: 'inflationVolumeTotal', sort: true, title: '总加气量',  align: "center",width:120},{field: 'inflationVolume', sort: true, title: '钢瓶标签/加气量',  align: "center",width:300},{field: 'distributionTime', sort: true, title: '配送时间',  align: "center",width:200},{field: 'cylinderTotal', sort: true, title: '钢瓶数量',  align: "center",width:120},{field: 'distributionPersonName', sort: true, title: '配送人员',  align: "center",width:120},{align: 'center', toolbar: '#roleTableBarStreet',  title: '操作', align: "center",fixed:'right',width:200}]],done(res){console.log(res)}});return false;
}

以下是生成的表格样式和分页效果

 

下面是后端分页

同样需要将page和limit传入后端并接收

sqlserver和maraDB一样只是业务层和sql不一样

 

@RequestMapping("/url")
public List<AlarmDisposeRecordVO> selectAlarmDisposeRecord(Integer page, Integer limit) {return villageManageService.selectAlarmDisposeRecord(page,limit);
}

业务层

sqlserver直接传就行

public List<AlarmDisposeRecordVO> selectAlarmDisposeRecord( Integer page, Integer limit) {return villageManageMapper.selectAlarmDisposeRecord(page,limit);
}

maraDB则需要计算一下

public List<AlarmDisposeRecordVO> selectAlarmDisposeRecord(Integer comId, Integer page, Integer limit, String alarmCause) {page = (page-1)*limit; // 修改MariaDB 分页return villageManageMapper.selectAlarmDisposeRecord(comId,page,limit,alarmCause);
}

最后是sql的不同

sqlserver

select top ${limit} * from (SELECTISNULL( CAST ( a.disposeStatus AS VARCHAR ), '--' ) AS disposeStatus,COALESCE(CONVERT(VARCHAR(100), a.alarmTime, 120), '--') AS alarmTime,ISNULL( CAST ( b.concNumber AS VARCHAR ), '--' ) AS concNumber,ISNULL( CAST ( a.alarmValue AS VARCHAR ), '--' ) AS alarmValue,ISNULL( CAST ( a.alarmCause AS VARCHAR ), '--' ) AS alarmCauseFROMDKGasRun.dbo.AlarmDis AS a,DKGovtGas.dbo.Concentration AS bWHEREa.equipID = b.IDAND b.companyID = #{comId}<if test="alarmCause=''||alarmCause!=null">AND a.alarmCause LIKE'%' + #{alarmCause} + '%'</if>) nwhere rownumber > ((${page} - 1)*${limit})

maraDB

  SELECTISNULL( CAST ( a.disposeStatus AS VARCHAR ), '--' ) AS disposeStatus,COALESCE(CONVERT(VARCHAR(100), a.alarmTime, 120), '--') AS alarmTime,ISNULL( CAST ( b.concNumber AS VARCHAR ), '--' ) AS concNumber,ISNULL( CAST ( a.alarmValue AS VARCHAR ), '--' ) AS alarmValue,ISNULL( CAST ( a.alarmCause AS VARCHAR ), '--' ) AS alarmCauseFROMdkgasrun.alarmd AS a,dkgovtgas.concentration AS bWHEREa.equipID = b.IDAND b.companyID = #{comId}<if test="alarmCause=''||alarmCause!=null">AND a.alarmCause LIKE CONCAT('%', #{alarmCause}, '%')</if>limit #{page},#{limit};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/94143.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署java程序的服务器cpu过高如何排查和解决

1.top命令找到占用CPU高的Java进程PID 2.根据进程ID找到占用CPU高的线程 ps -mp pid -o THREAD,tid | sort -r ps -mp 124682 -o THREAD,tid | sort -r 3.将指定的线程ID输出为16进制格式 printf “%x\n” tid printf "%x\n" 6384 18f0 4.jstack pid |…

TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖

日前&#xff0c;2023“金鼎奖”评选结果揭晓&#xff0c; 平凯星辰&#xff08;北京&#xff09;科技有限公司研发的 TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖 &#xff0c; 该方案已成功运用于 多家国有大行、城商行和头部保险企业 。 此次获奖再…

springMVC之拦截器

文章目录 前言一、拦截器的配置二、拦截器的三个抽象方法三、多个拦截器的执行顺序总结 前言 拦截器 一、拦截器的配置 SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor SpringMVC的拦截器必须在SpringMVC的配置文件中进行配置&…

windows自带远程桌面连接的正确使用姿势

摘要 目前远程办公场景日趋广泛&#xff0c;对远程控制的需求也更加多样化&#xff0c;windows系统自带了远程桌面控制&#xff0c;在局域网内可以实现流程的远程桌面访问及控制。互联网使用远程桌面则通常需要使用arp等内网穿透软件&#xff0c;市场上teamviewer、Todesk、向…

无涯教程-Android - RadioButton函数

RadioButton有两种状态:选中或未选中,这允许用户从一组中选择一个选项。 Radio Button 示例 本示例将带您完成一些简单的步骤,以展示如何使用Linear Layout和RadioButton创建自己的Android应用程序。 以下是修改后的主要Activity文件 src/MainActivity.java 的内容。 packa…

Redis 7 第五讲 事务、管道、发布订阅 过渡篇

事务 理论 可以一次执行多个命令&#xff0c;本质是一组命令的集合。一个事务中的所有命令都会序列化&#xff0c;按顺序地串行化执行而不会被其它命令插入&#xff0c;不许加塞 一个队列中&#xff0c;一次性、顺序性、排他性的执行一系列命令 Redis事务 VS 关系型数据库事务…

【CSS】简记CSS效果:通过transition(动画过渡属性)实现侧边栏目滑入滑出

需求 在资金明细的页面中&#xff0c;点击按钮时筛选区域从左侧滑出&#xff0c;完成筛选点击确认后调用接口完成数据查询&#xff0c;筛选区域滑入左侧&#xff1b; 基于微信小程序页面实现 wxml代码 <view><!-- 操作按钮 --><button type"primary&qu…

艾昆纬携手亚马逊云科技赋能生物医药企业,加速武田数字化转型

IQVIA艾昆纬是全球以及中国医疗健康服务领域的领导者&#xff0c;利用其数据及分析&#xff0c;前沿数字化技术和医疗领域的专业知识&#xff0c;智能连接医疗生态的各个环节。过去几年&#xff0c;IQVIA艾昆纬所服务的生物医药行业客户武田中国也迎来了数字化转型的高潮。 武田…

视频智能分析平台EasyCVR安防视频汇聚平台助力森林公园防火安全的应用方案

一、研发背景 随着经济的发展和人们生活水平的提高&#xff0c;越来越多的人喜欢在周末去周边的森林公园旅游&#xff0c;享受大自然的美景&#xff0c;并进行野炊和烧烤等娱乐活动。然而&#xff0c;近年来由于烟蒂和烧烤碳渣等人为因素&#xff0c;森林公园火灾频繁发生。森…

【Java 动态数据统计图】动态数据统计思路案例(动态,排序,动态数组(重点推荐))七(129)

需求&#xff1a;前端根据后端的返回数据&#xff1a;画统计图&#xff1b; 说明&#xff1a; 1.X轴为地域&#xff0c;Y轴为地域出现的次数&#xff1b; 2. 动态展示&#xff08;有地域展示&#xff0c;没有不展示&#xff0c;且高低排序&#xff09; Demo案例&#xff1a; …

Ansible学习笔记11

Command和Shell模块&#xff1a; 两个模块都是用于执行Linux命令的&#xff0c;这个对于命令熟悉的工程师来说&#xff0c;用起来非常high。 Shell模块跟Command模块差不多&#xff08;Command模块不能执行一类$HOME、> 、<、| 等符号&#xff0c;但是Shell是可以的。&…

【Mycat 2】详解分库分表设计方案及实操测试(二)

文章目录 4. 分表、不分实例、不分库4.1 数据分片映射关系4.2 测试过程5. 分实例、分表、不分库5.1 分库键和分表键相同5.1.1 数据分片映射关系5.1.2 测试过程5.2 分库键和分表键不相同5.2.1 数据分片映射关系5.2.2 测试过程6. 不分片6.1 普通表6.1.1 数据映射关系6.1.2 测试过…