首先配置grendao
1、导入相应的包
- compile'org.greenrobot:greendao:3.0.1'
- compile'org.greenrobot:greendao-generator:3.0.0'
2、配置项目的Gradle
- 'org.greenrobot:greendao-gradle-plugin:3.0.0'
3、配置app的Gradle
- 'org.greenrobot.greendao'
- 1
- 'com.example.anonymous.greendao.gen'
- 'src/main/java'
- @Entity
- publicclass
- @Id
- private
- private
@Id:通过这个注解标记的字段必须是Long类型的,这个字段在数据库中表示它就是主键,并且它默认就是自增的
就这么简单含有两个字段的实体类
然后点击这个按钮
builder完之后会有两个地方发生了变化
这是GreenDao自动为你生成的,路径就是你在gradle中配置的路径
现在只有一个User表,如果再添加一个Age实体类,你在点击Make Project按钮,他还会把AgeDao自动生成出来
在增、删、改、查之前第一步做的就是需要对数据库进行初始化,不可能就这样直接对实体类操作,这样不太现实的,否则为什么GreenDao会自动生成这么多代码呢?
- new"my-db"
- new
通过GreenDao生成的代码,我们可以获取到实体类的实例,也就是数据库表的实例,这样我们才能操作数据库
4、增、删、改、查
1、增加
- new,"zhangsan"
2、删除
- "zhangsan"
- if
3、修改
- "zhangsan"
- if
- "lisi"
- "修改成功"
- else
- "用户不存在"
4、查询
- 1
- 5
查询语句是数据库操作最多的,语句也比较复杂,具体的语句请去看官网
简单封装
其实这样写代码,作为程序员并不能满足,最起码的重用还是需要的,所以简单的封装一下吧
我们需要添加几个类来负责代码的重用工作,先看一下整体的工程结构:
1、MyApplication:返回Context对象
2、DaoManager:初始化数据库,获取相应的操作对象
3、EntityManager:对数据库表的初始化,获取实体类的操作对象
- publicclassextends
- privatestatic
- @Override
- publicvoid
- super
- publicstatic
- return
- /**
- publicclass
- privatestatic
- private
- private
- private
- new"my-db"
- new
- public
- return
- public
- return
- publicstatic
- if
- new
- return
- publicclass
- privatestatic
- public
- /**
- public
- return
- /**
- publicstatic
- if
- new
- return
- new,"zhangsan"
DaoManager和EntityManager主要作用是对数据库和表的初始化工作抽出来作为复用,在Activity中使用的时候,我们可以直接操作表,不需要在初始化工作了,这篇文章作为我的学习笔记,希望也能为看到的朋友提供帮助!
文章来源: GreenDao3.0的简单使用