# go-adm **Repository Path**: janpoem/go-adm ## Basic Information - **Project Name**: go-adm - **Description**: ADM - Active Data Model,动态数据模型,Go语言轻量ORM,no heavy, go easy! - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 38 - **Forks**: 9 - **Created**: 2015-04-28 - **Last Updated**: 2025-02-14 ## Categories & Tags **Categories**: database-dev **Tags**: None ## README # Go ADM - Active Data Model Go语言ORM,暂时只支持MySQL,本来并不打算做成ORM,不过实在是没办法。 目前封装包含了: 1. [数据库配置 - XmlConfig](http://git.oschina.net/janpoem/go-adm/wikis/adm.Config) 2. [连接器 - Connection](http://git.oschina.net/janpoem/go-adm/wikis/adm.Connection) 3. [查询结果集 - ResultSet, ResultRow, ExecResult](http://git.oschina.net/janpoem/go-adm/wikis/adm.Results) 4. [查询构造器 - QueryBuilder](http://git.oschina.net/janpoem/go-adm/wikis/adm.QueryBuilder) 5. [数据模型和事件 - Model, ModelEvents](http://git.oschina.net/janpoem/go-adm/wikis/adm.Model) 6. [数据模型映射 - ModelMapping](http://git.oschina.net/janpoem/go-adm/wikis/adm.ModelMapping) 7. [0.1.0 分支说明](http://git.oschina.net/janpoem/go-adm/wikis/ver-0.1.0) 已经将对Model的反射集中到ModelMapping中(mapping.go),并且go-agi库的type_conv.go中增加了大量的类型转换的方法(尤其是AnyTo*开头的函数,详情请看:[type_conv.go](http://git.oschina.net/janpoem/go-agi/blob/master/type_conv.go))。 mapping.go定义的是数据模型的反射逻辑。 model.go则是外部对数据模型的操作。 修改后的数据装箱的性能成倍提升了,具体多少就不说了,我比较满意。 目前可用度已达到80%了,除了缓存部分的接口设计以外,不会再增加新的接口和库的规模。 **[2015.05.07]** 0.1.0分支已经实现Model面向对象化操作,详情请参考[0.1.0 分支说明](http://git.oschina.net/janpoem/go-adm/wikis/ver-0.1.0) **[2015.05.06]** 推送一个0.1.0的分支,0.1.0的Model改为一个结构,原来的接口改名为ModelInterface,暂不作为主分支推送,详细可参考[0.1.0 分支说明](http://git.oschina.net/janpoem/go-adm/wikis/ver-0.1.0)。 **[2015.05.02]** 重构model.go部分的代码,分离Model的数据操作,和ModelMapping(模型反射)两个区块,代码可控性更强,结构更清晰。 **[2015.05.01]** 初步实现ORM,大量hardcode来实现的反射 **[2015.04.29]** 初步完成数据库查询构造器、数据库配置加载、数据库连接器的功能。 **[2015.04.28]** 本库诞生…… 需要基于[go-agi](http://git.oschina.net/janpoem/go-agi)这个库。 ``` shell go get git.oschina.net/janpoem/go-agi go get git.oschina.net/janpoem/go-adm ``` 详细的使用说明,请查看[Wiki](http://git.oschina.net/janpoem/go-adm/wikis)。 主分支的问题,基本在分支0.1.0已经解决,包括Model面向对象化的操作,详情请参阅[0.1.0 分支说明](http://git.oschina.net/janpoem/go-adm/wikis/ver-0.1.0)。