gorm+ginlaravel的多条件查询(包含LIKE模糊查询、Map、Not、Order)、增、改、删MVC示例

-

GinLaravel框架:

Github(推荐):https://github.com/fyonecon/ginlaravel

Gitee(备用):https://gitee.com/fyonecon/ginlaravel

-

示例User数据库数据:

多条件查询多一个列表:

-

Kit数据库定义:

var Db *sql.DB = driver.MysqlDb // 连接gomysql扩展
var DB *gorm.DB = driver.GDB    // 连接gorm扩展

controller:

package Gen3App

import (
	"ginlaravel/app/Common"
	"ginlaravel/app/Http/Model/Gen3"
	"ginlaravel/app/Kit"
	"github.com/gin-gonic/gin"
	"log"
)

// 用户列表
func ListGMUser(ctx *gin.Context)  {
	// 预定义参数
	var state int
	var msg string

	type ListUserKeys struct { // 结果集,参数名需大写
		UserId int
		UserClassId int
		UserClassName string
		Nickname string
		CreatTime string
	}

	_userClassId := Kit.Input(ctx, "user_class_id")
	userClassId := Common.StringToInt(_userClassId)
	nickname := Kit.Input(ctx, "nickname")

	_page := Kit.Input(ctx, "page")
	page := int(Common.StringToInt(_page))

	// 处理分页
	var limit int = Common.Page["limit"]
	var offset int = 0 // 本页从第几个开始
	if page <= 0 { page = 1 } else if page > 200 { page = 200 }
	page = page - 1
	offset = limit*page

	listUserModel := Gen3.ListUserKeys{}
	res, total, err := listUserModel.ListUser(limit, offset, userClassId, nickname)

	if err != nil {
		state = 0
		msg = "查询无数据"
	}else {
		state = 1
		msg = "查询完成"
	}

	// 返回一些测试数据
	testData := map[string]interface{}{
		"page": _page,
		"user_class_id": userClassId,
		"nickname": nickname,
	}

	// 分页数据
	paging := map[string]interface{}{
		"total": total,
		"limit": limit,
		"page": page+1,
	}
	// 返回数据
	ctx.JSONP(200, map[string]interface{}{
		"state": state,
		"msg": msg,
		"paging": paging,
		"te
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值