转载

Git@OSC 项目推荐 —— Go 语言轻量 ORM

Go ADM - Active Data Model

Go语言ORM,暂时只支持MySQL,本来并不打算做成ORM,不过实在是没办法。

目前封装包含了:

  1. 数据库配置 - XmlConfig
  2. 连接器 - Connection
  3. 查询结果集 - ResultSet, ResultRow, ExecResult
  4. 查询构造器 - QueryBuilder
  5. 数据模型和事件 - Model, ModelEvents
  6. 数据模型映射 - ModelMapping

已经将对Model的反射集中到ModelMapping中(mapping.go),并且go-agi库的type_conv.go中增加了大量的类型转换的方法(尤其是AnyTo*开头的函数,详情请看:type_conv.go)。

mapping.go定义的是数据模型的反射逻辑。

model.go则是外部对数据模型的操作。

修改后的数据装箱的性能成倍提升了,具体多少就不说了,我比较满意。

目前可用度已达到80%了,除了缓存部分的接口设计以外,不会再增加新的接口和库的规模。

[2015.05.02]重构model.go部分的代码,分离Model的数据操作,和ModelMapping(模型反射)两个区块,代码可控性更强,结构更清晰。

[2015.05.01]初步实现ORM,大量hardcode来实现的反射

[2015.04.29]初步完成数据库查询构造器、数据库配置加载、数据库连接器的功能。

[2015.04.28]本库诞生……

需要基于go-agi这个库。

go get git.oschina.net/janpoem/go-agi go get git.oschina.net/janpoem/go-adm

详细的使用说明,请查看Wiki。

正文到此结束
Loading...