上一篇简单介绍greenDao,下面是greenDao的一些特性。看完这些,你可能会爱上greenDao。
1 是ORM框架,即对象关系映射
greendao的本质是为关系型数据库sqlite提供一个面向对象的接口存储。也就是将复杂的数据表映射成对象的方式,让你操作表中数据变为直接操作java的实体对象那样简单。你只需要根据greenDao提供的生成器定义数据模型(别着急,可以参考它提供的实例),greenDAO将自动为你创建Java数据对象(实体)和DAO(数据访问对象)。这会为你节省很多自己之前手写的代码。除此之外,greendao还提供了一些高级的ORM功能比如;session缓存,预加载,和活跃的实体。
2 性能
我们常用数据库存储大量的数据,对于性能,greendao不作任何妥协。使用greendao,大多数实体可以以每秒几千个的速度来进行加载、插入、更新。
对比其他的ORM框架greendao性能上可以称为强大,比如:与ORMLite进行比较(ORMLite也是一个在android项目中常用的框架)。对于相同的实体,greendao插入和更新实体超过ORMLite的2倍的速度,加载查询实体速度是ORMLite的4.5倍。对于终端上的应用程序的加载速度是最重要常用的。
(数字和图表更新10-23-2011)
除了对greendao高性能的追求,它还具备一个session缓存机制和智能预加载技术 ,以便带来额外性能提升。
3 超级小的类库
greendao核心库小于100K的大小,所以增加greendao不影响你的APK大小。
4 活动主体
如果你希望的话,实体可以“主动”:主动的实体解决表与表的关联关系(你需要调用getter 方法),并提供更方便的更新、删除、访问持久性功能的方法。
5 支持协议缓冲(即google提供的protobuf协议)
greendao可以将(protobuf)对象直接存入数据库。如果你在终端用通过protobuf与服务器通信,你不需要另一个映射。所有普通的实体的持久化操作同样适用于protobuf对象。这也是greendao一个独特的功能。
6 代码自动生成
greendao将用java工程生成Java(实体)和DAO对象。其它常用ORM框架多为用的注解方式。
7 开源
greendao的源代码托管在GitHub上。源码中还包含一个JUnit测试套件,它很好的体现了greendao的所有特征,因此github上的例子是学习greendao很好的教材。
8 支持
greendao是开源的,是由它的开发商和社区支持。除此之外为您的特殊要求提供商业支持。