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. 自动化测试工具——JMeter

    Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文 ...

  2. 一个node项目的框架搭建流程

    项目服务端编程语言node,前端js,数据库mongodb, 开发工具用webstorm. 使用express应用生成器,生成项目雏形. 安装应用生成器工具,命令是npm install expres ...

  3. centos 6.5安装node.js

    1.检查是否安装gcc编译器 rpm -q gcc rpm -q gcc-c++ 2.如果没有安装则通过以下代码安装gcc编译器 yum -y install gcc-c++ kernel-devel ...

  4. Python学习笔记 for windows 三

    多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. 哺乳类:能跑的哺乳类,能飞的哺乳类: 鸟类:能跑的鸟类,能飞的鸟类. class Animal(object): ...

  5. OC ---- 字符串 数组 iOS学习-----细碎知识点总结

    NSString *urlString = [NSString stringWithFormat:@"http://www.apple.com"];        // 获取字符串 ...

  6. 就publish/subscribe功能看redis集群模式下的队列技术(一)

    Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...

  7. 终端启动apache,mysql服务;登录mysql服务器

    sudo apachectl start sudo mysql.server start sudo apachectl help 查看帮助 mysql -hlocalhost -uroot -p ma ...

  8. JavaScript增强AJAX基础

    <title>js类型</title> <meta http-equiv="content-type" content="text/html ...

  9. DOS基础命令

    对服务(service)的操作 命令 功能 Net start 查看Windows开启的服务 Net stop [service name] 停止服务 net start [service name] ...

  10. C++学习笔记 知识集锦(一)

    1.内存管理的开销 2.函数调用框架 3.类为什么要定义在头文件 4.C++的组合 5.在类的外部定义成员函数 6.bool类型为什么可以当做int类型 7.无符号保留原则 8.C++类型检查 9.何 ...