gofly接口自定义搜索条件

Go快速开发框架自定义数据库搜索条件,当你前端传多个搜索条件时候,需要接口对条件做判断,拼接查找的sql语句实现查询。下面我们对自定义搜索条件使用说明。

1.创建存储条件的数组

whereMap := gmap.New()

2.根据接口传参组装sql查询条件

 //搜索添条件param, _ := gf.RequestParam(c)if name, ok := param["name"]; ok && name != "" {whereMap.Set("name like ?", "%"+gconv.String(name)+"%")}if mobile, ok := param["mobile"]; ok && mobile != "" {whereMap.Set("name", mobile)}if cid, ok := param["cid"]; ok && cid != "" {whereMap.Set("cid", cid)}

3.把查找条件数据传入orm查询中

  MDB := gf.Model("user").Where(whereMap)//获取总数totalCount, _ := MDB.Clone().Count()//获取数据列表list, err := MDB.Fields("id,status,name").Page(pageNo, pageSize).Order("id asc").Select()if err != nil {gf.Failed().SetMsg(err.Error()).Regin(c)} else {gf.Success().SetMsg("获取数据列表").SetData(gf.Map{"page":     pageNo,"pageSize": pageSize,"total":    totalCount,"items":    list,}).Regin(c)}

其他查询语句:

param, _ := gf.RequestParam(c)
//模糊查询
whereMap.Set("name like ?", "%"+gconv.String(param["name"])+"%") 
//区间
whereMap.Set("createtime  between ?", gf.Slice{param["star_time"], param["end_time"]})
//等于
whereMap.Set("cid", 2)
//大于
whereMap.Set("cid > ?", 2)
//大等于
whereMap.Set("cid >=?", 2)
//小于
whereMap.Set("cid < ?", 2)
//小等于
whereMap.Set("cid <=?", 2)
//in
whereMap.Set("cid", gf.Slice{1, 3, 6,7})

更多查询方式请到GoFly开发框架查看:Go快速开发框架文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT的历史

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种基于Transformer架构的预训练语言模型。它由OpenAI开发&#xff0c;并于2018年首次发布。GPT的目标是通过大规模的无监督学习来学习语言的统计规律和语义表示&#xff0c;从而能够生成自然流畅的文本。 G…

JWT身份验证

在实际项目中一般会使用jwt鉴权方式。 JWT知识点 jwt&#xff0c;全称json web token &#xff0c;JSON Web令牌是一种开放的行业标准RFC 7519方法&#xff0c;用于在两方安全地表示声明。具体网上有许多文章介绍&#xff0c;这里做简单的使用。 1.数据结构 JSON Web Token…

uniapp中导入css和scss的区别

在项目中编写了一个基础的公共样式 common.scss文件 想要将其 导入到app.vue文件中 第一次使用的是import url(static/common.scss); 编译直接报错&#xff0c;无法识别这个文件 原因是 使用import url()是CSS中用于导入外部样式表的语法&#xff0c;但它不适用于导入SCS…

Unity 动态加载音频和音效

想要加载音效和音频需要两个组件&#xff1a; 听&#xff1a; 播&#xff1a; 一收一发 在层级中&#xff0c;右键创建 音频源 &#xff0c;放入物体的子物体中。 播放 方式一 拖动需要播放的音频文件到&#xff0c;音频源组件中。 using System.Collections; using Syst…

Guitar Pro 8.1中文版永久许可证激活2024最新24位注册激活码生成器

Guitar Pro是一款非常受欢迎的音乐制作软件&#xff0c;它可以帮助用户创建和编辑各种音乐曲谱。从其诞生以来就送专门为了编写吉他谱而研发迭代的。 尽管这款产品可能已经成为全球最受欢迎的吉他打谱软件&#xff0c;在编写吉他六线谱和乐队总谱中始终处于行业领先地位&#…

Java求职技能清单(2024版)

一、Java基础扎实&#xff08;反射、集合、IO、NIO、多线程、设计模式、通信协议等基础技术&#xff09; &#xff08;一&#xff09;Java &#xff08;二&#xff09;网络IO &#xff08;三&#xff09;NIO模型 &#xff08;…

释放数据湖潜力:小红书如何实现数仓效率与成本的双重优化

在当今以数据为核心的商业环境中&#xff0c;企业正面临着海量数据的处理和分析挑战。为克服传统数据仓库在处理速度、灵活性和成本效率方面的局限&#xff0c;小红书数据仓库团队引入如 Apache Iceberg 等数据湖技术&#xff0c;将其与数仓架构相结合&#xff0c;以释放数据湖…

2024全网最全Excel函数与公式应用

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 引言 Excel是一款广泛应用于商业、教育和个人…

VUE3项目学习系列--项目配置(二)

在项目团队开发过程中&#xff0c;多人协同开发为保证项目格式书写格式统一标准化&#xff0c;因此需要进行代码格式化校验&#xff0c;包括在代码编写过程中以及代码提交前进行自动格式化&#xff0c;因此需要进行在项目中进行相关的配置使之代码格式一致。 一、eslint配置 …

【世界首富宝座易主】贝佐斯超越马斯克,再登世界首富宝座

贝佐斯超越马斯克&#xff0c;再登世界首富宝座 杰佛瑞普雷斯顿「杰夫」贝佐斯&#xff08;英语&#xff1a;Jeffrey Preston1964年1月12日&#xff09;&#xff0c;生于美国新墨西哥州&#xff0c;美国网际网路巨头亚马逊公司创始人及现任董事长&#xff0c;《华盛顿邮报》大股…

哈希的简单介绍

unordered系列关联式容器 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 l o g 2 N log_2 N log2​N&#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的节点非常多时&#xff0c;查询效率也不理想。最好的…

一本书讲透ChatGPT——理论与实践的完美结合,大模型技术工程师的必备指南

写在前面 OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景&#xff0c;在多项专业和学术基准测试中表现出的智力水平&#xff0c;不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xff0c;被科技界誉…

如何使用反射操作类和对象?

什么是反射&#xff1f; 反射&#xff08;Reflection&#xff09;是Java编程语言中的一种强大的特性&#xff0c;允许程序在运行时检查和操作对象、类、方法等程序元素的信息。通过反射&#xff0c;程序可以在运行时获取类的信息、调用对象的方法、操作类的属性等&#xff0c;…

Vue3学习记录(三)--- 组合式API之生命周期和模板引用

一、生命周期 1、简介 ​ 生命周期&#xff0c;指的是一个 Vue 实例从创建到销毁的完整阶段&#xff0c;强调的是一个时间段。 ​ 生命周期钩子函数&#xff0c;指的是 Vue 实例提供的内置函数&#xff0c;函数的参数为一个回调函数。这些钩子函数会在实例生命周期的某些固定…

拜占庭将军问题与区块链

文章目录 拜占庭将军问题问题背景问题的现实意义将军-副官模型三将军问题四将军问题3m将军问题 口头消息算法基本假设方法介绍正确性证明 签名消息算法 区块链区块链是什么区块链对于拜占庭将军问题的解决方法工作量证明奖励机制最长链原则小结 区块链的意义 总结 拜占庭将军问…

Tomcat 漏洞处理

1.目录遍历 要求不允许通过网址访问 Tomcat 的 example &#xff0c;manager 等自带目录&#xff0c;我选择了最直接的办法&#xff0c;删除 Tomcat 中 webapps 目录下除了项目外的其它所有文件夹。 2.Tomcat AJP 修改 Tomcat 配置文件 /root/apache-tomcat-7.0.109/conf/se…

总结:前后端集合、数组类型数据交互底层原理,SpringBoot框架解析

总结&#xff1a;前后端集合、数组类型数据交互底层原理&#xff0c;SpringBoot框架解析 一前后端信息交互本质&#xff1a;1.两台电脑可以通过收发电磁波、控制网线电路开关等基础物理设施&#xff0c;就可以进行物理层面的电信号交互&#xff0c;电信号又可以通过各种传感设备…

机器学习是什么?如何从入门到精通?

机器学习&#xff08;Machine Learning&#xff09;是一种从数据中自动学习模式和规律&#xff0c;并用于做出预测和决策的领域。它利用统计学、数学和计算机科学的方法&#xff0c;让计算机从大量数据中学习并不断优化模型&#xff0c;以实现自动化的决策和预测。 要从入门到…

在Linux中使用docker【中】(常见命令上)

在Linux中使用docker【中】&#xff08;常见命令上&#xff09; 一、Docker介绍二、在Linux中使用Docker的意义2.1 轻量级与资源高效2.2 快速部署与版本控制2.3 隔离与安全2.4 简化运维2.5 跨平台兼容2.6 持续集成与持续部署&#xff08;CI/CD&#xff09; 三、Docker的安装3.1…

win系统如何同时安装MySQL5和MySQL8

win系统如何同时安装MySQL5和MySQL8 文章目录 win系统如何同时安装MySQL5和MySQL81、准备好两种版本的数据库2、下载后解压到你指定的目录3、手动配置安装MySQL5和8安装MySQL53.1创建my.ini文件3.2生成data文件夹 安装MySQL83.1创建my.ini文件3.2生成data文件夹 4、配置环境变量…