Android ORM框架GreenDao用法
0 简介
android 上的ORM框架主要有两个:ormlite 和 GreenDAO,本篇主要介绍GreenDao的用法,原因是GreenDAO的速度快,关于ormlite和GreenDao的性能对比,请看这篇文章:[http://www.open-open.com/lib/view/open1438065400878.html][1]
GreenDao的Github地址: [https://github.com/greenrobot/greenDAO][2]
1 原理
GreenDAO之所以比ormlite快,是因为ormlite采用注解和反射,greenDao采用预先生成好的Java类,一般用了反射速度就会慢,但是greenDao的缺点就是没有ormlite易用,ormlite上手更快,更灵活。GreenDao实际上是用一些比封装的比较完善的类,就像Android提供的OpenHelper一样的,但是由于每个人的表结构都不一样,所以这些类必须动态生成,但是我们无法写出这些类,因此作者就创建了一个模板这个模板就是DaoGenerator,这是一个java工程,在使用之前必须先搭建这个工程,然后生成DaoMaster等类,然后就能大显身手了。
总结一下,使用GreenDao分三步
- 创建Java工程Daogenerator
- 生成DaoMaster、DaoSession、表对应实体类
- 使用生成的类方便的操作数据库
2 创建Java工程
(1) 在AndroidStudio中创建新的module,点击Fiel–>new module–>选择Java Libary
创建好的Java工程如下图,包名和类名随意命名,但类名不要写DaoGenerator,因为这是系统的类名
(2) 在Java工程的build.gradle文件中引入GreenDaoGenerator
compile 'de.greenrobot:greendao-generator:2.0.0'
博主的daogenerator工程的build.gradle文件如下:
(3) 编写定制属于我们的Dao文件生成器,在里面定义我们的数据库名称,表结构,表的依赖关系,当然全都是面向对象的操作,不涉及到SQL语句,GreenDAO都帮我们封装好了,在生成的具体文件中就会看见SQL语句,这里主要参考这篇文章: