如果你对Ruby On Rails有一点了解的话,一定会知道ActiveRecord的大名。ActiveRecord对于存取数据库的操作简单到飞起,开发者再也不用去考虑麻烦的SQL查询,而是把记录当做对象来用就是了。
Ruby On Rails热,ActiveRecord自然也就有人学着做,各种版本各种语言模仿ActiveRecord的到处都是,如果你的数据库程序没用上ActiveRecord,都不好意思出门……
苹果疯子们自然不甘示弱,有人也写了一个Objective-C版的ActiveRecord。
这个版本的ActiveRecord是ninja kitten写的,授权为BSD License,支持以下几个特性:
它支持两种很热很流行的数据库:
- SQLite 3
- MySQL 5.0
还支持4种很爽很简单的数据库关联关系:(下面的比如抄自fleaphp)
- Has many 比如 每一篇文章都有多个(0-n)评论
- Has one 比如 每一个公民都有一个身份证号码
- Has and belongs to many 比如 每一位作者都写了多本(0-n)书籍,而每一本书籍都有多个(1-n)作者
- Belongs to 比如 每一个评论都属于一篇文章
另外,这个ActiveRecord可以用在iPhone上(不过并不支持MySQL,只支持SQLite,但是那样也很好了),作者提供了一个iPhone的模板供开发者使用。
用法同样简单到飞起,在数据库建表,然后建一个跟表名相同的Model类,继承于它自带的ARBase类,直接find出来的就是一个对象了。
如果你很喜欢这种数据库的操作方式,而不想累自己的话,那快点去这个地址下载这个Cocoa版本的ActiveRecord吧。
另外,如果你只用SQLite,那么这里还有一个另外的选择,同样实现了ActiveRecord的功能。