安卓数据库框架greenDAO(一)

一、GitHub简介:

GitHub地址:https://github.com/greenrobot/greenDAO

greenDAO

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.

greenDAO Android是一个轻&快ORM解决方案,将对象映射到SQLite数据库。针对 Android高度优化的,greenDAO提供极大的性能和消耗最小的内存。

Features

greenDAO's unique set of features:

  • Rock solid: greenDAO has been around since 2011 and is used by countless famous apps
  • Super simple: concise and straight-forward API
  • Small: The library is <100K and it's just plain Java jar (no CPU dependent native parts)
  • Fast: Probably the fastest ORM for Android, driven by intelligent code generation
  • Safe and expressive query API: QueryBuilder uses property constants to avoid typos
  • Powerful joins: query across entities and even chain joins for complex relations
  • Flexible property types: use custom classes or enums to represent data in your entity

greenDAO的特性如下:

1.坚如磐石:greenDAO已经存在自2011年以来,被无数著名的应用程序使用

2.超级简单:简洁而直接的API

3.快速:Android可能最快的ORM,由智能代码生成

4.安全、富有表现力的查询API:QueryBuilder使用财产常量避免拼写错误

5.强大的连接:在实体查询甚至复杂的关系链连接

6.灵活的财产类型:使用自定义类或枚举表示数据实体

Asynchronous API

  • New AsyncSession (acquired from DaoSession.startAsyncSession()) provides most operations for DAOs, Queries, and transactions in a asynchronously variant
  • AsyncOperations are processed in order by a background thread
  • waitForCompletion methods for AsyncSession and AsyncOperations
  • AsyncOperationListener for asynchronous callback when operations complete
  • Asynchronous operations can be merged in single transactions (details follow)
  • Added raw SQL queries returning a Query object (LazyList support etc.)

从DaoSession.startAsyncSession获得的新的AsyncSession(())为dao提供大多数操作,查询,在异步变体和事务

AsyncOperations后台线程按顺序处理

waitForCompletion AsyncSession和AsyncOperations的方法

当操作完成AsyncOperationListener为异步回调

异步操作可以在单一事务合并(细节如下)

添加查询原始SQL查询返回一个对象(LazyList支持等等)。

二、官网介绍

官网:http://greenrobot.org/greendao/

greenDAO特性

对象/关系映射(ORM)

greenDAO的本质是提供了一个面向对象的接口数据存储在关系数据库SQLite。 数据模型定义,greenDAO将创建Java数据对象(实体)和DAOs( 数据访问对象 )。 这将节省你很多无聊的代码,只是来回移动数据。 除此之外,greenDAO报价 一些先进的ORM特性 像一个会话缓存,立即加载和活跃的实体。

性能

关于性能greenDAO不做任何妥协。 数据库用于存储大量的数据,因此速度很重要。 使用greenDAO,大多数实体可以插入、更新和加载速度 每秒几千实体 

我们有信心在greenDAO性能和邀请你来比较greenDAO orm。 我们 开源的基准 完全透明。 下面的图表比较了3个最流行的Android greenDAO ORM解决方案,OrmLite,ActiveAndroid(根据基于GitHub的流行明星和Appbrain的统计数据)。 greenDAO插入和更新实体快2倍左右,并加载实体比ORMLite快4倍左右。 典型的应用程序加载速度是最相关的。

greenDAO-vs-OrmLite-vs-ActiveAndroid
除了greenDAO的高性能核心功能,如一个会话缓存和智能立即加载技术给额外的性能提升。

苗条的图书馆

greenDAO核心库的规模小于100 k,所以添加greenDAO不伤害你的APK大小。

活跃的实体

如果你愿意的话,实体可以“活跃”:积极解决实体关系透明(你只是调用getter),更新,删除和更新方法方便访问持久化功能。

Protocol buffers支持

greenDAO让你坚持 协议缓冲区(protobuf) 直接对象到数据库中。 如果你跟你的服务器通过protobuf,你不需要另一个映射。 常规实体的所有持久化操作可用于protobuf对象。 我们相信这是greenDAO的一个独特的特征。

代码生成

greenDAO将生成Java数据对象(实体)和DAO对象。 DAO对象是根据实体允许最好的映射。 
未来计划:生成适配器,也许CRUD活动。

开源

在G greenDAO的源代码是完全可用 itHub 。 源分布还包含一个JUnit测试套件,它使用greenDAO的所有功能,因此对greenDAO学习的极好途径。

支持

greenDAO是开放源代码的, 支持 由其开发人员和它的社区。

 

转载于:https://my.oschina.net/whhos/blog/683470

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值