[Go]GO语言实战-开源WEB客服GO-FLY-gorm下分页的实现
时间:2022-07-25
本文章向大家介绍[Go]GO语言实战-开源WEB客服GO-FLY-gorm下分页的实现,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
分页功能几乎是每个项目里都会使用的功能,在使用gorm的前提下,下面这样实现分页.
前端使用的是elementui , 只需要返回两个参数就可以前端分页了 , 总页数和每页的条数
后端需要知道两个参数, 当前第几页和每页的条数
比如下面的代码:
里面的page是前端传过来的 , pagesize是配置里规定的, 就可以交给gorm去分页了
func GetVisitors(c *gin.Context) {
page,_:=strconv.Atoi(c.Query("page"))
kefuId,_:=c.Get("kefu_name")
vistors:=models.FindVisitorsByKefuId(uint(page),config.VisitorPageSize,kefuId.(string))
count:=models.CountVisitorsByKefuId(kefuId.(string))
c.JSON(200, gin.H{
"code": 200,
"msg": "ok",
"result":gin.H{
"list":vistors,
"count":count,
"pagesize":config.PageSize,
},
})
}
gorm里面的代码:
主要是offset 和 limit的使用
func FindVisitorsByKefuId(page uint,pagesize uint,kefuId string)[]Visitor{
offset:=(page-1)*pagesize
if offset<0{
offset=0
}
var visitors []Visitor
DB.Where("to_id=?",kefuId).Offset(offset).Limit(pagesize).Order("status desc, updated_at desc").Find(&visitors)
return visitors
}
效果是这样的
代码就在下面的github里面
- Vuex从入门到精通(三)
- echarts 进阶之同心扇形图多级联动
- Java 枚举类型enum 的使用
- linux下操作 mysql的基本命令
- CentOs7.3 搭建 RabbitMQ 3.6 单机服务
- Redis实现信息已读未读状态提示
- HashMap源码理解
- JSP Layout详细介绍
- J2Cache——Java两级缓存框架
- SSM三大框架整合详细总结(Spring+SpringMVC+MyBatis)
- 不到百行代码实现,类似iPhone的滑块开关
- 《深入理解Java虚拟机》(一)Java虚拟机发展史
- Servlet是如何实现MVC的?
- 基础篇章:关于 React Native 的props,state,style的讲解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SwiftUI:本地通知
- 领导大怒:建表不加主键的都是耍流氓
- (美团)巧用数组下标,轻轻松松找出所有元素
- Docker容器网络-基础篇
- 【Java面试总结】常用框架之Spring
- 【学以致用】C++操作Redis
- 商业鬼才教你 工厂方法 && 抽象工厂 模式
- redis学习(十四)
- 用动态路由打通各Virtual L2网络 By HKL,
- 《深入RabbitMQ》笔记
- Nginx学习日志(六)Linux下设置开机自启动
- 轻松学会 React 钩子:以 useEffect() 为例
- linux新增用户
- Rancher搭建集群:[etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy
- ECS误删文件后恢复数据