android dao层,Android greenDao简介

d08ac03f2cc62c00308ee1fb588c3abc.png

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

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

41f9b210d73561fd323a9118a060c153.png

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

Core Classes(核心类)

85f530c5f1013b4c5231fb43e065b5ef.png

当代码生成之后,就可以在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核心组件的第一步:

helper = new DaoMaster.DevOpenHelper(this, "notes-db", null);

db = helper.getWritableDatabase();

daoMaster = new DaoMaster(db);

daoSession = daoMaster.newSession();

noteDao = daoSession.getNoteDao();

1

2

3

4

5

6

helper=newDaoMaster.DevOpenHelper(this,"notes-db",null);

db=helper.getWritableDatabase();

daoMaster=newDaoMaster(db);

daoSession=daoMaster.newSession();

noteDao=daoSession.getNoteDao();

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值