Node.js+Express+Mysql实现分页查询

根据记录数总数和分页数获到页总数

function pageCount (totalnum,limit){return totalnum > 0 ? ((totalnum < limit) ? 1 : ((totalnum % limit) ? (parseInt(totalnum / limit) + 1) : (totalnum / limit))) : 0;
}

接收请求代码

router.get('/api/user/page', async (req, res) => {let pageNo = req.query.pageNo;let pageSize = req.query.pageSize;const startIndex = (pageNo - 1) * pageSize;const queryString = `SELECT * FROM sys_user LIMIT ${startIndex}, ${pageSize}`;let data =  await query(queryString); const countSql = 'select count(*) count from sys_user'let countData =  await query(countSql); let count = countData[0].count;let pageData = {total : count,   pages : sysUtils.pageCount(count,pageSize),records : data}res.send({status: 200,success : true,message: '',data: pageData,})
})

数据库代码

const mysql = require('mysql')
const pool = mysql.createPool({host: '127.0.0.1',user: 'root',password: '123456',database: 'lzwj_data',port: 3306
})function camelCaseKeys(obj) {const result = {};for (let key in obj) {let newKey = key[0].toLowerCase() + key.slice(1).replace(/_([a-z])/g, function($0,$1){return $1.toUpperCase();});result[newKey] = obj[key];}return result;
}let query = function( sql, values ) {// 返回一个 Promisereturn new Promise(( resolve, reject ) => {pool.getConnection(function(err, connection) {if (err) {reject( err )} else {connection.query(sql, values, ( err, rows) => {if ( err ) {reject( err )} else {rows = rows.map(item => camelCaseKeys(item));resolve( rows )}// 结束会话connection.release()})}})})
}module.exports =  query

调试:

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

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

相关文章

自动驾驶货车编队行驶系统功能规范

货车编队行驶功能规范 Truck Platooning Functional Specification 目录 1 概述... 7 1.1 目的... 7 1.2 范围... 7 1.3 术语及缩写... 7 1.4 参考法规标准... 8 2 功能规范... 9 2.1 功能描述... 9 2.1.1 功能用途…

简述DIV元素和SPAN元素的区别

DIV和SPAN是两种常见的HTML元素&#xff0c;DIV是块元素&#xff0c;默认换行&#xff0c;一般用于排版。SPAN是行内元素&#xff0c;默认不换行&#xff0c;一般用于局部文字样式。通过DISPLAY他们之间可以相互转换&#xff0c;DIV默认是BLOCK&#xff0c;SPAN默认是INLINE. 它…

代码随想录day9-KMP算法

title: 代码随想录Day9 date: 2024-01-04 19:38:32 代码随想录笔记 categories:技术 代码随想录day9-KMP算法|28. 找出字符串中第一个匹配项的下标 宏观 本来使用暴力 O(m*n)的算法&#xff0c;通过KMP方法&#xff0c;基于前缀表构建失败函数next数组&#xff0c;在失败后进…

centos6后台启动docker

如果您正在使用 Docker 1.7 并且希望使用 sudo docker -d --storage-drivervfs & 命令在 CentOS 6 上后台运行 Docker&#xff0c;但发现它没有按预期工作&#xff0c;这里有一些建议可以尝试&#xff1a; 确保使用正确的语法&#xff1a;在 Docker 1.7 中&#xff0c;-d 或…

计算机系统的性能指标

1.字长和数据通路宽度 字长&#xff1a;字长指的是计算机中一个数据字的长度。一个数据字是计算机中进行运算和存储的最小单位&#xff0c;通常由多个二进制位&#xff08;比如8位、16位、32位等&#xff09;组成。 举个例子&#xff0c;假设一个计算机的字长为8位&#xff0…

SSCI及SCI撰写|查找文献doi的八大方法

一、前言 (一)文献DOI概念介绍 DOI&#xff08;Digital Object Identifier&#xff09;是一种用于标识数字对象的持久性标识符系统。在学术出版领域&#xff0c;DOI通常用于标识和定位学术文献&#xff0c;包括期刊文章、会议论文、报告等。以下是 DOI 的一些重要特点和介绍&a…

【网络】网络层IP地址和IP数据报的格式

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…

【Python小游戏】贪吃蛇丨名侦探柯南(完整代码)

文章目录 写在前面PyGame入门贪吃蛇注意事项写在后面写在前面 本期内容:基于pygame的贪吃蛇小游戏 实验环境 python3.11及以上pycharmpygame安装pygame的命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygamePyGame入门 pygame是一个开源的Python模块,…

【动态规划】413. 等差数列划分

413. 等差数列划分 解题思路 定义一个数组 dp&#xff0c;其中 dp[i] 表示以 nums[i] 结尾的等差子数组的个数。 使用一个循环遍历数组 nums&#xff0c;从索引 1 开始&#xff0c;直到 nums.length - 2 结束。这是因为要保证以 nums[i] 结尾的子数组至少包含三个元素&#x…

如何全面、准确地采集各种能耗数据?如何实时监控工厂的能源使用情况?

工厂能源数据采集与实时监控是工厂能耗管理系统&#xff08;EMS&#xff09;的重要组成部分&#xff0c;对于提高能源效率、降低运营成本以及优化生产流程至关重要。通过采用多种方法和工具&#xff0c;全面、准确地采集各种能耗数据&#xff0c;并实时监控工厂的能源使用情况&…

iOS手机查看蓝牙底层日志

文章目录 一、需要的环境二、在iOS设备上安装Profiles文件三、安装Xcode四、安装packetLogger五、启动蓝牙数据包分析 参考文档&#xff1a;A New Way to Debug iOS Bluetooth Applications 一、需要的环境 iOS 13 device and cableMac computer/laptopApple Developer Progr…

全国(山东、安徽)职业技能大赛--信息安全管理与评估大赛题目+答案讲解——网络数据包分析

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步…

顶顶通呼叫中心中间件配置指定振铃时间挂断(mod_cti基于FreeSWITCH)

介绍 一般情况默认是振铃60秒挂断&#xff0c;但是如果想振铃10秒就挂断可以根据下方配置方法一步步去配置。 一、通过线路控制振铃时间 打开ccadmin-》点击线路-》点击你需要控制振铃时间的线路-》配置呼叫超时-》点击更新。 二、通过队列外呼控制振铃时间 打开ccadmin-》…

2023年山东省职业院校技能大赛高职组信息安全管理与评估-镜像文件取证解析

任务3:镜像文件取证(100分) 目录 任务3:镜像文件取证(100分) 解题方法: Evidence1 Evidence2 Eviden

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑分布式资源交易的气电综合能源配网系统出清模型》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主的免费专栏栏目《论文与完整程序》 这个标题涉及到气电综合能源配网系统的出清模型&#xff0c;特别强调了对分布式资源交易的考虑。以下是对标题中关键术语的解读&#xff1a; 气电综合能…

paddlehub 文本检测使用

PaddleHub负责模型的管理、获取和预训练模型的使用。 参考&#xff1a;https://github.com/PaddlePaddle/PaddleHub/tree/develop/modules/image/text_recognition/chinese_text_detection_db_server import paddlehub as hub import cv2 # from utils import cv_show import…

《网络是怎样连接的》2.1节图表(自用)

图3.1&#xff1a;协议栈的组成 图3.2&#xff1a;netstat命令查看套接字 上图中每一行就是一个套接字 图3.3&#xff1a;协议栈在浏览器访问DNS服务器与web服务器时的具体工作流程 套接字由协议栈创建 应用程序通过Socket库中的程序组件与协议栈交互 图3.4&#xff1a;TCP头…

【JAVA】深入了解 Java 中的 DelayQueue

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 Java中的DelayQueue是一个强大的工具&#xff0c;常用于处理需要延迟执行的任务或具有过期时间的元素。通过实现Delayed接口&#x…

丰田凯美瑞雾灯改双光透镜解决方案

丰田凯美瑞大灯采用CAN总线控制车灯的近光、远光、日行灯、转向灯信号&#xff0c;无法直接从车灯插头上直接获取近光远光信号。传统改灯需要拆开车灯通过光耦线阻取得近远光开光信号&#xff0c;工序繁琐且不美观。 厦门市创宇致诚电子科技推出一款丰田凯美瑞车灯信号解码器&a…

Halcon粘连木材图像的目标分割计数

Halcon粘连木材图像的目标分割计数 文章目录 Halcon粘连木材图像的目标分割计数1. 提取面积较小区域2. 分割较大区域3. 区域合并与计数 本文以一个实际场景图片为例&#xff0c;介绍阈值处理与形态学计算的应用。案例图像如图所示,图&#xff08;a&#xff09;为输入的原始图像…