go 实现分页 gin grom

var total int
page,_          := strconv.Atoi(c.DefaultQuery("page","1"))
pageSize,_  := strconv.Atoi(c.DefaultQuery("pageSize","10"))

db := database.Student
db = db.Model(course.Student{})
    
if err := db.Count(&total).Error; err != nil{
    c.JSON(http.StatusOK, gin.H{
        "code" : 500,
        "message" : "查询数据异常",
    })
    return
}

offset := (page-1)*pageSize
if err := db.Order("id desc").Limit(pageSize).Offset(offset).Find(&data).Error;err != nil{
    c.JSON(http.StatusOK, gin.H{
        "code" : 500,
        "message" : "查询数据异常",
    })
    return
}

c.JSON(http.StatusOK, gin.H{
    "code":    200,
    "message": "success",
    "data"   : map[string]interface{}{
        "data" : rs,
        "total": total,
        "page" : page,
        "pageSize": pageSize,
    },
})
return
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容