GreenDao3.0的简单使用

匿名 (未验证) 提交于 2019-12-03 00:30:01

首先配置grendao

1、导入相应的包

  1. compile'org.greenrobot:greendao:3.0.1'
  2. compile'org.greenrobot:greendao-generator:3.0.0'

2、配置项目的Gradle

    1. 'org.greenrobot:greendao-gradle-plugin:3.0.0'

3、配置app的Gradle

  1. 'org.greenrobot.greendao'
  2. 1
  3. 'com.example.anonymous.greendao.gen'
  4. 'src/main/java'



3.编写实体类(对应的是数据库的每张表)
  1. @Entity
  2. publicclass
  3. @Id
  4. private
  5. private
@Entity:将我们的java普通类变为一个能够被greenDAO识别的数据库类型的实体类
@Id:通过这个注解标记的字段必须是Long类型的,这个字段在数据库中表示它就是主键,并且它默认就是自增的

就这么简单含有两个字段的实体类

然后点击这个按钮

builder完之后会有两个地方发生了变化



这是GreenDao自动为你生成的,路径就是你在gradle中配置的路径

现在只有一个User表,如果再添加一个Age实体类,你在点击Make Project按钮,他还会把AgeDao自动生成出来

在增、删、改、查之前第一步做的就是需要对数据库进行初始化,不可能就这样直接对实体类操作,这样不太现实的,否则为什么GreenDao会自动生成这么多代码呢?

  1. new"my-db"
  2. new
my-db是数据库的名字,自己随便写就行。

通过GreenDao生成的代码,我们可以获取到实体类的实例,也就是数据库表的实例,这样我们才能操作数据库

4、增、删、改、查

1、增加

  1. new,"zhangsan"

2、删除

  1. "zhangsan"
  2. if

3、修改

  1. "zhangsan"
  2. if
  3. "lisi"
  4. "修改成功"
  5. else
  6. "用户不存在"
把zhangsan改成lisi

4、查询

查询语句是数据库操作最多的,语句也比较复杂,具体的语句请去看官网

简单封装

其实这样写代码,作为程序员并不能满足,最起码的重用还是需要的,所以简单的封装一下吧

我们需要添加几个类来负责代码的重用工作,先看一下整体的工程结构:


1、MyApplication:返回Context对象

2、DaoManager:初始化数据库,获取相应的操作对象

3、EntityManager:对数据库表的初始化,获取实体类的操作对象

  1. publicclassextends
  2. privatestatic
  3. @Override
  4. publicvoid
  5. super
  6. publicstatic
  7. return
  1. /**
  2. publicclass
  3. privatestatic
  4. private
  5. private
  6. private
  7. new"my-db"
  8. new
  9. public
  10. return
  11. public
  12. return
  13. publicstatic
  14. if
  15. new
  16. return
  1. publicclass
  2. privatestatic
  3. public
  4. /**
  5. public
  6. return
  7. /**
  8. publicstatic
  9. if
  10. new
  11. return
三个东西一看便知,但是这个东西怎么用呢?

  1. new,"zhangsan"


DaoManager和EntityManager主要作用是对数据库和表的初始化工作抽出来作为复用,在Activity中使用的时候,我们可以直接操作表,不需要在初始化工作了,这篇文章作为我的学习笔记,希望也能为看到的朋友提供帮助!


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!