Android greenDao简介

greenDAO-orm-640 greenDao是Android平台的对象关系映射工具object/relational mapping(ORM)。greenDao为关系型数据库提供面向对象的接口。数据库相关的重复枯燥的任务将由greenDao这样的ORM工具完成。

DAO Code Generation(DAO代码自动生成)

greenDAO-Projects-640 在Android项目中使用greenDao,首先需要创建一个代码生成器(generator project),它负责生成数据库相关的实体类与Dao层的代码。注意:它是一个普通的java项目而不是Android项目。它需要依赖greenDAO-generator.jar和Freemarker模版库。greenDao schema entity使用详解

Core Classes(核心类)

Core-Classes-150 当代码生成之后,就可以在Android项目中使用greenDao了。但是别忘了导入greenDao.jar到你的Android项目中去。

接下来介绍的核心类都是greenDao中非常重要的。

DaoMaster:它是greenDao的入口。DaoMaster持有了数据库对象(SQLiteDatabase),并且管理所有的DAO类。DaoMaster中包含创建和删除表的静态方法。其中的内部类OpenHelper和DevOpenHelper都是SQLiteOpenHelper的实现,用来创建数据库表结构。

DaoSession:用来管理DAO对象,可以通过get方法获取。DaoSession也提供一些持久化的方法,像insert、load、update、refresh、delte等。它还跟踪identity scope。查看Android greenDao sessions详解

DAO:数据访问对象(DAO)用来持久化和查询实体对象。对于每一个实体对象(entity),greenDao都生成一个对应的DAO。比DaoSession包含更多的方法,比如count、loadAll、insertIntx等。

Entites:持久化对象,通常entities都是通过前面提到的代码生成器自动生成的(当然你也可以自己写,如果你不嫌累的话)。其实就是一个标准的java对象(就像POJO和JavaBean)用来代表数据库中的一行。

Core Initialization(核心组件初始化)

下面的代码展示了初始化数据库和greenDao核心组件的第一步:

这个例子中假设已经有一个“Note”实体了。用他的DAO(noteDao),我们就可执行指定entity的持久化操作了。



  copyright@黑月神话,转载请注明出处:vjson.com

发表评论