基本介绍
gdb
链式操作使用方式简单灵活,是 GoFrame
框架官方推荐的数据库操作方式。链式操作可以通过数据库对象的 db.Model
方法或者事务对象的 tx.Model
方法,基于指定的数据表返回一个链式操作对象 *Model
,该对象可以执行以下方法。当前方法列表可能滞后于源代码,详细的方法列表请参考接口文档: https://pkg.go.dev/github.com/gogf/gf/v2/database/gdb#Model
部分不支持的操作
以下是最新版本的支持情况
类型 | Replace | Save | InsertIgnore | InsertGetId | LastInsertId | Transaction | RowsAffected |
---|---|---|---|---|---|---|---|
mysql | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
mariadb | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
tidb | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
pgsql | 不支持 | 支持 | 不支持 | 支持 | 支持 | 支持 | 支持 |
mssql | 不支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
sqlite | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
oracle | 不支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
dm | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
clickhouse | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 |
相关文档
📄️ ORM链式操作-模型创建
模型创建
📄️ ORM链式操作-写入保存
常用方法
📄️ ORM链式操作-更新删除
为安全性保证、防止误操作, Update 及 Delete 方法必须带有 Where 条件才能提交执行,否则将会错误返回,错误信息如: there should be WHERE condition statement for XXX operation。 goframe 是一款用于企业生产级别的框架,各个模块设计严谨,工程实践的细节处理得比较好。
🗃️ ORM链式操作-数据查询
10 items
🗃️ ORM链式操作-模型关联
2 items
📄️ ORM链式操作-对象输入
Data/Where/WherePri/And/Or 方法支持任意的 string/map/slice/struct/struct 数据类型参数,该特性为 gdb 提供了很高的灵活性。当使用 struct/ struct 对象作为输入参数时,将会被自动解析为 map 类型,只有 struct 的 公开属性 能够被转换,并且支持 orm/ gconv/ json 标签,用于定义转换后的键名,即与表字段的映射关系。
📄️ ORM链式操作-字段过滤
Fields/FieldsEx 字段过滤
📄️ ORM链式操作-字段获取
FieldsStr/FieldsExStr 字段获取
📄️ ORM链式操作-事务处理
Model 对象也可以通过 TX 事务接口创建,通过事务对象创建的 Model 对象与通过 DB 数据库对象创建的 Model 对象功能是一样的,只不过前者的所有操作都是基于事务,而当事务提交或者回滚后,对应的 Model 对象不能被继续使用,否则会返回错误。因为该 TX 接口不能被继续使用,一个事务对象仅对应于一个事务流程, Commit/ Rollback 后即结束。