Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 6.5% on proxy.golang.org
Top 4.3% forks on proxy.golang.org

proxy.golang.org : gopkg.in/issue9/orm.v0

Package orm 一个简单小巧的 orm 实现方案。 目前内置了对以下数据库的支持: 其它数据库,用户可以通过实现 Dialect 接口,来实现相应的支持。 初始化: 默认情况下,orm 包并不会加载任何数据库的实例。所以想要用哪个数据库,需要手动初始化: 占位符 SQL 语句可以使用'#'字符在语句中暂替真实的表名前缀,也可以使用{} 包含一个关键字,使其它成为普通列名,如: 在实际执行时,如 DB.Query(),将第一个参数 replace 指定为 true, 相关的占位符就会被替换成与当前环境想容的实例,如在表名前缀为p_, 数据库为 mysql 时,会被替换成以下语句,然后再执行: DB.Query(),DB.Exec(),DB.Prepare().DB.Where() 及 Tx与之对应的函数都可以使用占位符。 Model 不能指定占位符,它们默认总会使用占位符,且无法取消。 Model: orm 包通过 struct tag 来描述 model 在数据库中的结构。大概格式如下: 目前支持以下的 struct tag: 关于core.Metaer接口。 在go不能将struct tag作用于结构体,所以为了指定一些表级别的属性, 只能通过接口的形式,在接口方法中返回一段类似于struct tag的字符串, 以达到相同的目的。 在core.Metaer中除了可以指定name(table_name)和check(name,expr)两个属性之外, 还可指定一些自定义的属性,这些属性都将会被保存到Model.Meta中。 约束名: index,unique,check,fk 都是可以指定约束名的,在表中,约束名必须是唯一的, 即便是不同类型的约束,比如已经有一个 unique 的约束名叫作 name,那么其它类 型的约束,就不能再取这个名称了。 如何使用: Create: 可以通过 Engine.Create() 或是 Tx.Create() 创建一张表。 Update: Delete: Insert: Select: Query/Exec: 事务: 默认的 DB 是不支持事务的,若需要事务支持,则需要调用 DB.Begin() 返回事务对象 Tx,当然并不是所有的数据库都支持事务操作的。 Tx拥有一组与 DB 相同的接口,另外还提供了一组以 `Mult` 开头的函数, 用以同时操作多条记录的。

Registry - Source - Documentation - JSON
purl: pkg:golang/gopkg.in/issue9/orm.v0
Keywords: database, go, golang, object-relational-mapper, orm, orm-library
License: MIT
Latest release: over 6 years ago
First release: over 6 years ago
Namespace: gopkg.in/issue9
Stars: 11 on GitHub
Forks: 7 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 19 days ago

    Loading...
    Readme
    Loading...