DBAPI_0">DBAPI如何优雅的实现分页查询功能
背景
select * from t_user limit 30,10
limit 30,10
表示从第31条记录开始,查询10条记录。
参数动态计算
- 在DBAPI中参数注入sql的话就要写成
select * from t_user limit #{offset}, #{pageSize}
- 而这里的
offset
参数每次都要根据pageNo
和pageSize
动态计算,offset=(pageNo-1)*pageSize
- 为了解决这个动态计算的需求,DBAPI提供了
参数处理插件
,可以对请求参数进行用户自定义的处理,并且官方已经实现了分页插件,该插件已经上传到插件市场,用户下载使用即可。
下面具体来看插件如何使用
分页插件使用
- 创建API,添加参数
pageNo
pageSize
API必须至少包含两个参数,pageNo
和pageSize
,pageNo
表示当前第几页,pageSize
表示每页显示的条数
- sql编写
sql中使用参数offset
和pageSize
,offset
表示查询记录的开始位置,pageSize
表示每页显示的条数
select * from t_city limit #{offset}, #{pageSize}
全局插件-参数处理
中选择分页插件
插件参数不用填写,非必填
- 测试
保存API,请求测试可以看到分页成功。
注意
注意此插件在个人版4.0.16
及以上、企业版4.1.10
及以上版本支持