GreenDao简明教程(基本介绍,Introduction)

这是一篇关于greenDao的简明使用教程(其实就是官网tutorial的一个大概的翻译)。

一共有四篇,链接如下:

1.基本介绍

2.实体建模

3.查询

4.关系


基本介绍


如上图,greendao是一个在android上orm工具。他可以帮助我们把android上的sqlite操作简化成对象的操作。



如上图,你需要在你的主Android工程之外再建立一个generator project.这是一个纯java的项目。

在这个项目里你需要在classpath中引用 greenDAO-generator.jar,和 freemarker.jar这两个jar包。
然后在这个工程中使用 greenDAO-generator中的方法 定义你数据库的实体和关系。
最后通过freemarker生成你的android工程要生用的DAO和Entiities代码。具体的定义方法我们后面再讲。
---------------------------------------------------------

做完了上面的步骤,下面就可以愉快的写我们的android工程了。
这里别忘了,为了使用generator生成的Entities和DAO方法,我们需要在我们的Android工程中引入greenDAO.jar这个包


如上图,这几个类是GreenDao的核心:(他们是通过之前代码生成的方式添加到你的工程中去的。)


DaoMaster:DaoMaster 是所有GreenDao使用的开始。DaoMaster封装了Sqlitedatabase并且在指定的schema中管理DAO类。他通过静态方法创建和删除tables。他的内部类 OpenHelper,  DevOpenHelper继承自 SQLiteOpenHelper,并在sqlite database中创建schema。

DaoSession:在指定的schema中管理所有的DAO对象。同样提供基本的持久化方法,比如对实体对象的insert、load、update、refresh、还有delete操作。(在新版本中,DaoSession同样负责保持 identity scope,可以简单理解为查询对象的一种缓存技术,详见 session documentation

DAOs:提供对实体的持久化和query,greenDao为每一个实体创建一个DAO.他提供比DaoSession更丰富的方法,比如 count, loadAll, 和insertInTx(这个方法支持批量插入).

Entities:greendao生成的持久化对象,与数据库的row一一对应。可以理解成简单的POJO或者javaBean。

---------------------------------------------------------------

核心代码的初始化

官方的example是这样给出的。

helper  =   new  DaoMaster. DevOpenHelper ( this "notes-db" null ) ;
db  =  helper. getWritableDatabase ( ) ;
daoMaster  =   new  DaoMaster ( db ) ;
daoSession  =  daoMaster. newSession ( ) ;
noteDao  =  daoSession. getNoteDao ( ) ;

example这里假设之前通过代码生成的方式生成了一个Note实体。这样通过他的DAO(NoteDao)我们就可以完成对该实体的持久化和查询。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值