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

DBAPI如何优雅的实现分页查询功能

DBAPI如何优雅的实现分页查询功能

背景

  • 分页查询的时候,用户往往需要传入当前第几页pageNo和每页显示的条数pageSize参数,根据这两个参数,从数据库中查询出当前页的数据。

  • 以mysql为例,分页查询的sql语句如下:

select * from t_user limit 30,10

limit 30,10表示从第31条记录开始,查询10条记录。

参数动态计算

  • 在DBAPI中参数注入sql的话就要写成
select * from t_user limit #{offset}, #{pageSize}
  • 而这里的offset参数每次都要根据pageNopageSize动态计算,offset=(pageNo-1)*pageSize
  • 为了解决这个动态计算的需求,DBAPI提供了参数处理插件,可以对请求参数进行用户自定义的处理,并且官方已经实现了分页插件,该插件已经上传到插件市场,用户下载使用即可。

下面具体来看插件如何使用

分页插件使用

  1. 访问插件市场,下载分页插件,上传到DBAPI的extlib目录或者lib目录下,重启DBAPI服务

  1. 创建API,添加参数pageNo pageSize

API必须至少包含两个参数,pageNopageSizepageNo表示当前第几页,pageSize表示每页显示的条数

  1. sql编写

sql中使用参数offsetpageSizeoffset表示查询记录的开始位置,pageSize表示每页显示的条数

select * from t_city limit #{offset}, #{pageSize}

  1. 全局插件-参数处理中选择分页插件

插件参数不用填写,非必填

  1. 测试

保存API,请求测试可以看到分页成功。

注意

注意此插件在个人版4.0.16及以上、企业版4.1.10及以上版本支持

http://www.dtcms.com/a/33160.html

相关文章:

  • 根据音频中的不同讲述人声音进行分离音频 | 基于ai的说话人声音分离项目
  • Python|OpenCV-实现人物眨眼检测(21)
  • 【Linux基础】Shell脚本
  • 常用的几种编码方式
  • c++———————————————c++11
  • 通俗理解嵌入式
  • 本地部署AI模型 --- DeepSeek(一)
  • 计算机网络基础:DOS命令、批处理脚本常见命令
  • Linux动静态库
  • *PyCharm 安装教程
  • for循环可遍历但不可以修改列表原因分析
  • 集成开发环境GoLand安装配置结合内网穿透实现ssh远程访问服务器
  • 18-除自身以外数组的乘积
  • P8716 [蓝桥杯 2020 省 AB2] 回文日期
  • 力扣-贪心-45 跳跃游戏
  • 【分布式数据一致性算法】Gossip协议详解
  • 【Rust中级教程】2.7. API设计原则之灵活性(flexible) Pt.3:借用 vs. 拥有、`Cow`类型、可失败和阻塞的析构函数及解决办法
  • 使用ESP-IDF来驱动INMP441全向麦克风
  • Python游戏编程之赛车游戏2
  • 【数据结构】(12) 反射、枚举、lambda 表达式
  • 苍穹外卖中的模块总结
  • Locale+Jackson导致Controller接口StackOverflowError异常解决
  • vue:vite 代理服务器 proxy 配置
  • TSMaster【第八篇:首战成名——第一个仿真工程实录(完整3000字版)】
  • Python深度学习:遥感影像目标识别中的数据标注技巧
  • 数据库增删查改sql语句
  • at32f103a+rtt+AT组件+esp01s 模块使用
  • Neo4j使用neo4j-admin导入csv数据方法
  • [特殊字符] Elasticsearch 双剑合璧:HTTP API 与 Java API 实战整合指南
  • 第七章 情绪力——情绪是多角度看问题的智慧