GreenDAO:一个安卓平台上的轻量极速的ORM解决方案

GreenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一个简单的面向对象API,开发者可以对Java对象进行存储、更新、删除和查询。

greenDAO

主要设计目标:

  • 最大性能(最快的Android ORM)
  • 易于使用API
  • 高度优化
  • 最小内存消耗

使用例子

  • 创建generator工程

(1)创建Java工程

(2)导入greenDao-generator.jar和freemarker.jar两个包。

freemarker是一个用java写的模板引擎,它能够基于模板来生成文本输出。应该就是用来自动生成DAO文件的。eclipse下面就是在            properties –> Java build path –> libraries下面导入jar包。

(3)创建schema

这个不知道怎么业内怎么翻译的,暂时先翻译成”框架“吧。即搭建自己应用的数据库框架,包括table。

创建schema时需要制定数据库的版本号、默认的Java package等参数。

默认Java package用来存放生成的entity、DAO文件、test代码。但也可以重新制定test文件的单独路径以及DAO文件的路径,代码:

另外,还有两个flag,用来标示entity是否是activie以及是否使用keep sections。代码:

 

(4)创建entity

schema中可以添加entity,简单的理解应该是entity对应一个具体的java class,entity可以添加property。Entity通常也是对应一个table。除了添加property之外,entity也可以添加to-one和to-many关系,即添加一对一的关系和一对多的关系。

下面就直接贴一个官方示例的代码吧:

系统会自动以传入的参数作为表的名字,但也可以自定义表名称:note.setTableName(“NoteTable”);

(5)生成DAO文件

生成DAO文件就是使用main函数的最后一句话,其中后面的参数就是希望自动生成的代码对应的项目路径。

注:设置的路径必须存在,否则会抛出异常。该路径是另外的工程下面的目录,当然也可以自己不这么做,只要这个目录存在就行。在schema创建的时候指定的package接口也是相对于该路径的。

执行generator工程,会发现生成了DaoMaster、DaoSession、NoteDao、Note共4个类文件,Note是一个纯Java类,内部各种getter和setter接口均自动创建实现了。NoteDao文件则是创建Note这个表的各个接口,包括sql语句等。很神奇很方便哈!!

 

  • 创建基于greenDao的android工程

完成了generator工作之后后面的东西就简单了:

(1)创建一个android工程

(2)插入一个Note对象:

官方网站:http://greendao-orm.com/
开源地址:https://github.com/greenrobot/greenDAO

3 1 收藏

资源整理者简介:sunbiaobiao

(新浪微博:@sunbiao将军) 个人主页 · 贡献了178个资源 · 10


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer