greenDAO文档翻译之二:介绍

来源:互联网 发布:软件项目进度风险 编辑:程序博客网 时间:2024/06/01 18:26

greenDAO是Android平台下的对象/关系映射工具。它为关系型数据库SQLite提供了一个面向对象的接口。像greenDAO这样的ORM工具提供了简单好上手的接口来操作数据,这样一来你可以省掉很多重复性的工作。

Gradle插件和生成DAO代码

为了在你的Android项目里使用greenDAO,你需要添加greenDAO gradle插件和greenDAO库依赖:

buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'} }apply plugin: 'com.android.application'apply plugin: 'org.greenrobot.greendao'dependencies {    compile 'org.greenrobot:greendao:3.2.0'}

然后模型化你的实体并构建你的项目,比如在Android Studio中是通过“Build > Make Project”。

核心类

一旦你的项目构建完成,你就可以开始在你的Android项目中使用greenDAO了。

下面的核心类是greenDAO中非常关键的接口:

DaoMaster:它是使用greenDAO的切入点。DaoMaster类持有数据库对象(类似SQLiteDatabase),并为一个特定的模式(schema)管理着DAO类(不是对象)。它拥有创建表和销毁表的静态方法。它的内部类OpenHelper和DevOpenHelper实现了SQLiteOpenHelper,它们负责在SQLite数据库中创建这个模式(schema)。

DaoSession:为一个特定的模式(schema)管理着所有可用的DAO对象,从这些对象那里你可以使用其中一个getter方法获得到。DaoSession也提供对实体进行插入、加载、更新、刷新和删除等常见的持久化方法。最后,一个DaoSession对象也追踪一个身份记录。丰富详细的内容,请查看session文档。

DAOs:实体的数据通过这些对象(DAOs)来实现持久和查询。greenDAO为每一个实体生成一个DAO类。它比DaoSession有更强大的方法,比如:count, loadAll和insertInTx。

Entities:可持久化对象。通常,像使用标准Java属性的对象(例如一个POJO或一个JavaBean)代表着数据库中的一行,便是实体的对象。

初始化核心

最后,下面的代码举例说明了初始化数据库和greenDAO核心类的第一步:

// do this once, for example in your Application classhelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);db = helper.getWritableDatabase();daoMaster = new DaoMaster(db);daoSession = daoMaster.newSession();// do this in your activities/fragments to get hold of a DAOnoteDao = daoSession.getNoteDao();

这个例子假设了存在一个Note实体。通过DAO(noteDao对象),我们可以对这个特定的实体进行持久化操作。


原文档在这里,欢迎指正。