返回顶部
首页 > 资讯 > 后端开发 > GO >GoFrame ORM原生方法操作示例
  • 502
分享到

GoFrame ORM原生方法操作示例

2024-04-02 19:04:59 502人浏览 薄情痞子
摘要

目录前言常用方法sql操作方法,返回原生的标准库sql对象数据表记录查询:数据单条操作数据修改/删除总结前言 最近一直在用GoFrame(下文简称gf)来开发项目,在熟悉业务逻辑之后

前言

最近一直在用GoFrame(下文简称gf)来开发项目,在熟悉业务逻辑之后就是马不停蹄的撸代码了。

之前整理过结构体和JSON转换的文章:GoFrame必知必会之Scan:类型转换,今天整理同样比较重要的ORM相关的文章。

gf是支持ORM原生操作的,在ORM链式操作执行不了太过于复杂的SQL操作时,可以交给方法操作来处理。

这篇文章整理原生操作的常用方法,下篇文章根据整理的原生方法整理对应的开箱体验。

常用方法

SQL操作方法,返回原生的标准库sql对象

  • Query是原始的数据查询方法,返回的是原生的标准库的结果集对象,需要自行解析。
  • Exec方法用于写入/更新的SQL的操作。
Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
Prepare(ctx context.Context, query string) (*sql.Stmt, error)

数据表记录查询:

  • 查询单条记录、查询多条记录、获取记录对象、查询单个字段值(链式操作同理)
  • 在执行数据查询时推荐使用Get*系列查询方法。
GetAll(ctx context.Context, sql string, args ...interface{}) (Result, error)
GetOne(ctx context.Context, sql string, args ...interface{}) (Record, error)
GetValue(ctx context.Context, sql string, args ...interface{}) (Value, error)
GetArray(ctx context.Context, sql string, args ...interface{}) ([]Value, error)
GetCount(ctx context.Context, sql string, args ...interface{}) (int, error)
GetScan(ctx context.Context, objPointer interface{}, sql string, args ...interface{}) error

数据单条操作

Insert/Replace/Save方法中的data参数支持的数据类型为:

string/map/slice/struct/*struct,当传递为slice类型时,自动识别为批量操作,此时batch参数有效。

Insert(ctx context.Context, table string, data interface{}, batch...int) (sql.Result, error)
Replace(ctx context.Context, table string, data interface{}, batch...int) (sql.Result, error)
Save(ctx context.Context, table string, data interface{}, batch...int) (sql.Result, error)

在这里由衷的感叹一句:gf确实非常方便。至今记得自己用gorm1.1版本时,困顿于批量插入无法自拔:# Go GORM是时候升级新版本了 2.0新特性介绍

数据修改/删除

Update(ctx context.Context, table string, data interface{}, condition interface{}, args ...interface{}) (sql.Result, error)
Delete(ctx context.Context, table string, condition interface{}, args ...interface{}) (sql.Result, error)

总结

虽然GoFrame的ORM链式操作非常简单且强大,但是业务中总还是有一些逻辑需要使用原生方法实现,化繁为简。

以上就是GoFrame ORM原生方法操作示例的详细内容,更多关于GoFrame ORM原生方法的资料请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: GoFrame ORM原生方法操作示例

本文链接: https://lsjlt.com/news/151071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • GoFrame ORM原生方法操作示例
    目录前言常用方法SQL操作方法,返回原生的标准库sql对象数据表记录查询:数据单条操作数据修改/删除总结前言 最近一直在用GoFrame(下文简称gf)来开发项目,在熟悉业务逻辑之后...
    99+
    2024-04-02
  • GoFrame框架ORM原生方法对象操作开箱体验
    目录前言开箱体验1. ORM对象tips2. 数据写入3. 数据查询(单条)4. 数据查询(列表)5. 数据保存6. 批量操作tips7. 数据更新/删除tips总结前言 ...
    99+
    2024-04-02
  • GoFrame ORM原生方法怎么使用
    本篇内容介绍了“GoFrame ORM原生方法怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!常用方法SQL操作方法,返回原...
    99+
    2023-07-02
  • Django框架ORM操作数据库不生效问题示例解决方法
    目录问题描述定位过程 首先,我们怀疑是SQL语句拼装错误(比如ID不对),导致了删除不生效解决方案总结本文详细描述使用Django 的ORM框架操作PostgreSQL数据库删除不生...
    99+
    2023-01-07
    django orm操作数据库不生效 django orm框架操作
  • Html5中原生拖拽操作的示例分析
    这篇文章给大家分享的是有关Html5中原生拖拽操作的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近的一次项目开发中用到了H5的拖拽功能,由于现有项目使用的是VUE全家桶,使用了vuedragable这...
    99+
    2023-06-09
  • php操作redis方法示例
    这篇文章给大家分享的是有关php操作redis方法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并...
    99+
    2024-04-02
  • 详解操作cookie的原生方法cookieStore
    目录1. 平时如何操作 cookie2. 新方式 cookieStore2.1 基本方法2.2 设置 cookie2.3 获取 cookie2.4 获取所有的 cookie2.5 删...
    99+
    2024-04-02
  • 操作cookie的原生方法有哪些
    这篇文章主要介绍操作cookie的原生方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 平时如何操作 cookiedocument.cookie 能获取到当前域所有的 cookie 字符串。每个 cook...
    99+
    2023-06-15
  • go第三方库sqlx操作MySQL及ORM原理
    目录sqlx实战准备工作编写代码添加引用创建连接增删改查预处理语句数据库事务sqlx干了什么MustXXXNamedXXXXXXScansqlx是Golang中的一个知名三方库,其为...
    99+
    2024-04-02
  • ORM分组操作示例(与SQL语句的比较)
    单表操作 建表: class Employee(models.Model): name = models.CharField(max_length=16) age = models.IntegerField() s...
    99+
    2016-09-02
    ORM分组操作示例(与SQL语句的比较) 数据库入门 数据库基础教程
  • ORM分组操作示例(与SQL语句的比较)
    class Employee(models.Model): name = models.CharField(max_length=16) age = models.IntegerField() salary = mo...
    99+
    2020-12-08
    ORM分组操作示例(与SQL语句的比较) 数据库入门 数据库基础教程 数据库 mysql
  • Beego中ORM操作各类数据库连接方式详细示例
    目录beego中各类数据库连接方式1.1 orm使用方式a. 注册数据库驱动程序b.注册数据库c. 注册模型1.2 操作示例a. orm连接mysqlb. orm连接sqlite3c...
    99+
    2024-04-02
  • PHP7原生MySQL数据库的操作方法
    这篇文章主要讲解了“PHP7原生MySQL数据库的操作方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP7原生MySQL数据库的操作方法”吧!1、连接到 MySQL服务器mysqli_...
    99+
    2023-06-20
  • SpringBoot实现ORM操作MySQL的几种方法
    目录1.第一种方式:@Mapper2.第二种方式@MapperScan3.第三种方式:Mapper文件和Dao接口分开管理4.事务使用mybatis框架操作数据,在springboo...
    99+
    2024-04-02
  • Python3 操作符重载方法示例
    基础知识 实际上,“运算符重载”只是意味着在类方法中拦截内置的操作……当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果。以下是对重载的关键概念的复习: ...
    99+
    2022-06-04
    示例 操作 方法
  • SpringBoot实现ORM操作MySQL的方法有哪些
    这篇文章主要介绍了SpringBoot实现ORM操作MySQL的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot实现ORM操作MySQL的方法有哪些文章都会有所收获,下面我们一起来看...
    99+
    2023-06-29
  • Python简单操作sqlite3的方法示例
    本文实例讲述了Python简单操作sqlite3的方法。分享给大家供大家参考,具体如下: import sqlite3 def Test1(): #con =sqlite3.connect("D:\...
    99+
    2022-06-04
    示例 操作 简单
  • ORM模型框架操作mysql数据库的方法
    【什么是ORM】 ORM 全称是(Object Relational Mapping)表示对象关系映射; 通俗理解可以理解为编程语言的虚拟数据库; 【理解ORM】 用户地址信息数据库...
    99+
    2024-04-02
  • Django ORM 事务和查询优化的操作方法
    目录一、事务操作二、 ORM 惰性查询三、only与defer四、select_related与prefetch_related一、事务操作 模块 from django....
    99+
    2024-04-02
  • Go读写锁操作方法示例详解
    目录引言读写锁有很多方法读操作写操作引言 前面讲到,在资源竞争的时候可以使用互斥锁,保证了资源访问的唯一性,但也降低了性能,仔细分析一下场景,如果只是读取数据,无论多少个gorout...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作