当前位置: 首页 > 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及以上版本支持

相关文章:

  • 根据音频中的不同讲述人声音进行分离音频 | 基于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 表达式
  • 做网站那个平台/西安网站seo排名优化
  • 首页重庆网站建设/seo系统是什么意思
  • 上海网站建设网页制作怎么样/如何获取热搜关键词
  • web 网页设计/优化公司哪家好
  • jsp做网站的流程/长沙网站排名推广
  • 企业内部网站源码/百度图片