GreenDao介绍

greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案

何为ORM?

ORM(Object/Relation Mapping): 对象/关系映射

ORM 主要解决对象-关系的映射



ORM的思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。

ORM的必要性

在写程序的时候,我们程序员通常是对对象进行一系列的操作,而在使用SQLite时,我们往往要从面向对象中脱离出去,需要做许多额外的工作,像编写 SQL 语句与解析查询结果等(书写SQL和查询结果是相当乏味和耗时的任务),而如果运用ORM这些框架的话,就能对原来的操作进行一系列的封装,最好的操作也落在熟悉的对象上,这样开发的更加快捷,效率更高。

市面上主流的ORM框架有

OrmLite :JDBC和Android的轻量级ORM java包

Sugar :用超级简单的方法处理Android数据库

GreenDAO :一种轻快地将对象映射到SQLite数据库的ORM解决方案

ActiveAndroid :以活动记录方式为Android SQLite提供持久化

SQLBrite :SQLiteOpenHelper 和ContentResolver的轻量级包装

Realm 移动数据库:一个SQLite和ORM的替换品

GreenDao特点

greenDAO的本质是提供一种面向对象接口存储在关系数据库的SQLite数据。刚刚定义的数据模型,并greenDAO将创建的Java数据对象(实体)和DAO的(数据访问对象)。这将节省您大量的枯燥的代码,只是移动数据来回。除此之外,greenDAO提供一些先进的ORM功能就像一个会话缓存,预先加载,和积极的实体。

性能(官网上的解释)

我们知道所有的ORM的,greenDAO是最快的。greenDAO不作性能方面任何妥协。数据库是非常适合存储大量数据,从而加速事项。使用greenDAO,大多数实体可以插入,更新和在速率加载每秒几千实体。

我们在greenDAO的表现充满信心,并邀请您比较greenDAO对其他的框架。我们开源了我们的测试充分的透明度。下图比较了Android的greenDAO,OrmLite和ActiveAndroid 3个最流行的ORM解决方案(根据基于GitHub上星和Appbrain的统计普及)。greenDAO插入和更新实体快约2倍,并围绕比ORMLite快4倍的负载实体。典型应用的加载速度是最相关的。

优点还包括以下这几点

  1. greenDAO的核心库小于100K的大小,所以加入greenDAO不会伤害你的APK大小
  2. 开源

GreenDao介绍的更多相关文章

  1. greenDao 介绍

    greenDAO是一个针对Android的轻快速ORM解决方案,它将对象映射到SQLite数据库.http://greenrobot.org/greendao/ greenDAO is a light ...

  2. Android数据存储之GreenDao 3.0 详解

    前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite----> ...

  3. android高效ORM数据库框架greenDao使用

    因为项目中多处用到了数据库,需要对数据库频繁的读写操作,虽然android 自带的SQLiteOpenHelper的.这种方式比较方便易懂,但是在使用过程中需要写很多的sql语句,而且需要及时的关闭和 ...

  4. Android greenDAO 数据库 简单学习之基本使用

    看网上对greenDAO介绍的不错,今天就动手来试一把,看看好不好使. greenDAO 官方网站:http://greendao-orm.com/ 代码托管地址:https://github.com ...

  5. GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级

    一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...

  6. greenDao:操作数据库的开源框架

    greenDAO: Android ORM for your SQLite database 1. greenDao库获取 英文标题借鉴的是greendrobot官网介绍greenDao时给出的Tit ...

  7. Android ORM 框架之 greenDAO 使用心得

    前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite.然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等.所以,适用于 Android 的ORM  ...

  8. 快速入门GreenDao框架并实现增删改查案例

    大家的项目中不可避免的使用到SQLite,为此我们要花费心思编写一个增删改查框架.而一个好的ORM框架则能够给我们带来极大的方便,今天给大家讲解一个非常火热的ORM-GreenDao. 基本概念 Gr ...

  9. GitHub上排名前100的Android开源库介绍(来自github)

    本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...

随机推荐

  1. gradle和maven有什么用?分别有什么区别?

    作者:EZLippi链接:http://www.zhihu.com/question/29338218/answer/51293828来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  2. windows 查看端口占用以及关闭该进程

    win+r -> 输入cmd netstat -ano 找到占用端口进程的pid control+shift+esc 打开 任务管理器 menu->'查看'->'选择列->勾选 ...

  3. scala中的Actor

    1.介绍 2.简单示例 3.第二个程序 4.通信程序 package day01 import scala.actors.Actor case class Message(content: Strin ...

  4. android内存分析:heap Snapshot的使用

    网上有很多讲解关于android studio中memory工具的使用,接下来我来说一段在项目中发生的实例:大家可以根据我的这个方法来分析自己项目中的问题 首先我们要通过手动先触发GC操作,点击mem ...

  5. canvas简单图片处理(灰色处理)

    反色处理写的比较简单,灰色处理写了一些注释 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

  6. c语言文法简化版文法

    <源程序>→<外部声明>|<外部声明><函数体> <外部申明>→<头文件><函数声明>|其他声明 <函数体&g ...

  7. HttpServletRequest获取请求参数

    private static String getRequestParameter(HttpServletRequest request, HttpServletResponse response) ...

  8. css表示屏幕宽度和高度

    expression(document.body.offsetWidth + "px"); expression(document.body.offsetHeight + &quo ...

  9. sys.syslockinfo--master..syslockinfo

    from:http://technet.microsoft.com/zh-cn/library/ms189497.aspx 重要提示 将此 SQL Server 2000 系统表作为一个视图包含进来是 ...

  10. 批处理——服务器的web文件备份

    首先建立三个文本文件,稍后会变成.bat结尾的批处理文件. 第一个文件:copyfile.bat[复制需要备份的文件到tmp文件下,等待压缩时使用] xcopy "D:\Webhost\*. ...