GreenDao概述
-
1),GreenDao的认识
greenDao是一个当下十分火热的数据库开源框架,或者说是一个帮助Android开发者将数据存到SQLite中的一个开源项目,也可以说是一个将对象映射到SQLite数据库中的,轻量的,快速的ORM解决方案.
GreenDao是对android原生SQLite的封装,
GreenDao的特色是通过插件自动生成DAO层类!
SQLite:-->SQLite是一个很好的嵌入式关系数据库,
ORM:-->Object Relational Mapping-->对象,关系,映射!
它把Java对象映射到数据表中来称作是ORM!
Orm是对象与数据的映射,简单说就是让javabean和数据库表建立绑定关系!
-
2)GreenDao相比SQLiteOpenHelper
之前开发是通过继承SQLiteOpenHelper实现创建数据库,基本表以及迭代开发中数据库,实现增删改查!
而greenDao使用一个简单的面向对象的接口来存储、更新、删除和查询Java对象,来达到对数据库的增删改查的操作!!
关于greenDAO的其他相关信息可以看官网greenDAO
-
3)推荐学习资料地址:
GreenDao官网:
http://greenrobot.org/greendao/
GreenDao特征介绍:
http://greenrobot.org/greendao/features/
GreenDao学习文档:
http://greenrobot.org/greendao/documentation/
GreenDao更新日志:
http://greenrobot.org/greendao/changelog/
GreenDao GitHub地址:
https://github.com/greenrobot/greenDAO
GreenDao有什么优势
- 1)性能最高,内存消耗最小,支持数据库加密.
- 2)一个精简的库,依赖库小于100kb,且使用人数众多,维护者也一直在更新.
- 3)完善的api,并且对Android进行了高度优化
greenDAO和ORMLite框架的比较:
对于给定相同的实体,greenDAO插入和更新实体的速度是ORMLite的两倍,并且在加载实体方面,它的加载速度比ORMLite快几乎4.5倍,
在一些特殊的应用中,加载速度是至关重要的!
GreenDao的特点
- 1)ORM对象关系映射
GreenDAO就是为存储在关系型数据库SQLite中的数据,提供面向对象的快捷方式. - 2)活动实体
如果需要,实体可以被“激活”,而活动实体可以透明地解析关系,并且有更新,删除方法,以便方便地访问持久性功能
也就是由greendao生成的java实体对象可以调用其get,set方法,通过操作对象来实现数据库中数据的增删改查! - 3)协议缓冲区支持
GreenDAO可以将协议缓冲区protobuf对象直接保存到数据库中,如果通过protobuf通话到您的服务器,则不需要另一个映射.
常规实体的所有持久性操作都可用于protobuf对象!这是GreenDAO的独特之处,独一无二的特性!!
protobuf:
https://github.com/google/protobuf - 4)自动生成代码
使用GreenDao,我们无需关注实体类以及Dao,GreenDao可以为我们自动生成!
意味着GreenDao将会生成Java数据对象(实体)和DAO对象,使用DAO对象以对象映射的方式来操作数据库. - 5)加密支持
GreenDao支持加密数据库来保护敏感数据,
加密操作的技术文档:
http://greenrobot.org/greendao/documentation/database-encryption/ - 6)依赖库微小
物理质量网络统计其大小不超过100kb
可以查看本地缓存的文件位置,查看其大小.
C:\Users\think.gradle\caches\modules-2\files-2.1\org.greenrobot\greendao\3.2.2\4b0a727cd9b59a7550794f3bec8024cf271b15d - 7)性能高,速度快,存储数据量大
- 8)开源
可以在github查看其源代码,深入了解机制!