玩转Android之数据库框架greenDAO3.0使用指南
来源:互联网 发布:mac怎么装虚拟机win10 编辑:程序博客网 时间:2024/06/05 02:32
转自:http://blog.csdn.net/u012702547/article/details/52226163
用过ActiveAndroid、玩过ORMLite,穿过千山万水,最终还是发现greenDAO好用,ActiveAndroid我之前有一篇文章介绍过 玩转Android之数据库框架ActiveAndroid的使用,如果小伙伴们有兴趣可以去查看,ActiveAndroid目前存在的问题是没有更新了,GitHub上ActiveAndroid的更新都是两年前的事了。所以我们还是来看看这个目前非常活跃的数据库框架greenDAO,greenDAO在升级到3.0之后使用方式也变得更加简单了,上手更加容易了。OK,我们今天就来看看吧。
1.引入greenDAO
用过3.0之前的greenDAO的小伙伴们应该都知道在引入greenDAO的时候是非常麻烦,但是在3.0之后这个引入过程简化了很多,参考官网给出的指导,我们来看看如何引入greenDAO:
首先在project的gradle文件中引入greenDAO插件,引入之后如下:
然后在module的gradle文件中添加greenDAO的插件,并引入相关类库,修改之后如下:
小伙伴们注意首先是引入相关插件,然后在dependencies中引入greenDAO的类库。至于greenDAO中,schemaVersion表示数据库版本号,每次数据库升级的时候我们修改这里的版本号即可(修改这里的版本号,greenDAO会自动修改生成到DAOMaster中的版本号),targetGenDir表示greenDAO生成的DAOMaster和DaoSession的位置。OK,做完这一切我们就已经成功将greenDAO引入到我们的项目中了。
2.数据库初始化
数据库引入成功后,在使用之前,我们还得先来创建一个实体类:
@Entity表示这个实体类一会会在数据库中生成对应的表,@Id表示该字段是id,小伙伴们注意该字段的数据类型为包装类型Long,为什么要用包装类型呢?我们一会插入数据的时候再说。@Property则表示该属性将作为表的一个字段,其中nameInDb看名字就知道这个属性在数据库中对应的数据名称。OK,写完这些之后将项目进行编译,编译成功之后系统会帮助我们生成相应的构造方法和get/set方法,并且还会在我们的包下生成DaoMaster和DaoSession。那么这里常用的注解除了这几个之外,还有一个较常用的就是@Transient,该注解表示这个属性将不会作为数据表中的一个字段。就是这么简单。另外还有一些比如@NotNull表示该字段不可以为空,@Unique表示该字段唯一。这里的注解还是挺多的,小伙伴们有兴趣可以自行研究。
OK,这一步做完之后,我们就可以进行数据库的初始化了,如下:
首先获取一个DevOpenHelper对象,这个类有点类似于我们使用的SqliteOpenHelper,我们主要在这个类中对数据库的版本进行管理。这个我们到后面的数据库升级一节再说。这样之后,我们对数据库基本的初始化操作就完成了,玩过Hibernate的小伙伴都知道,在Hibernate框架中如果我们想要操作实体类要通过DAO来操作,那么在这里也一样。想要操作User实体类,得先有一个UserDao,这个UserDao要怎么获取呢?如下:
OK,这些东西都有了,接下来我们就可来操作数据库了。
3.添加数据
数据库的增删改查我们都将通过UserDao来进行,插入操作如下:
User的第一个参数为id,这里传null的话在插入的过程中id字段会自动增长(现在知道为什么id要为Long类型了吧!)第二个参数是username,每次插入时生成一个随机数,避免重复。
4.删除数据
删除数据和修改数据的思路一样,都是要先查找到数据:
where表示查询条件,这里我是查询id小于等于10的数据,where中的参数可以有多个,就是说可以添加多个查询条件。最后的list表示查询结果是一个List集合,如果你只想查询一条数据,最后unique即可。当然,我们也可以根据id来删除数据:
也可以将表中所有数据一次删除:
5.修改数据
修改数据也是先查询,再修改:
这里我添加了两个查询条件,一个是id要大于等于10,同是还要满足username like %90%,注意最后的unique表示只查询一条数据出来即可。
6.查询数据
其实上面删除和修改都已经涉及到查询了,查询里边有许多非常好用的函数,我这里举两个例子between表示查询id介于2到13之间的数据,limit表示查询5条数据。
7.数据库升级
数据库的升级其实就两个步骤我们来看看:
7.1 修改gradle文件
首先在module的gradle文件中修改版本号:
7.2修改实体类
重现编译项目运行即可。
一般的数据库升级这样就可以了,特殊情况可能需要自己编写数据库迁移脚本,这种时候可以自定义DBHelper,定义方式如下,注意继承类:
可以在onUpgrade方法中进行数据库的迁移,如果自定义了DBHelper,则数据库的初始化变为如下方式:
OK,这就是greenDAO数据库框架的一个简单介绍,更多使用姿势参见官网。
有问题欢迎留言讨论。
以上。
- 玩转Android之数据库框架greenDAO3.0使用指南
- 玩转Android之数据库框架greenDAO3.0使用指南
- 玩转Android之数据库框架greenDAO3.0使用指南
- 玩转Android之数据库框架greenDAO3.0使用指南
- 玩转Android之数据库框架greenDAO3.0使用指南
- 玩转Android之数据库框架greenDAO3.0使用指南
- Android之数据库框架greenDAO3.0使用指南
- Android之数据库框架greenDAO3.0使用指南
- 数据库框架GreenDao3.0
- Android数据库系列之GreenDao3.0+
- android stdudio 数据库框架greendao3.2使用
- 玩转Android之数据库框架ActiveAndroid的使用
- Android ORM框架 GreenDao3.0的使用
- Android ORM框架greenDao3.0使用简介
- Android Greendao3.0框架的使用
- Android ORM框架 GreenDao3.0的使用
- Android数据库框架——GreenDao3.2的配置 升级
- Android笔记之greenDao3.0学习总结
- 配置Log4j(很详细)
- windows平台定期执行rman全备
- Metrics —— JVM上的实时监控类库
- Python struct模块-深入学习
- 文章标题
- 玩转Android之数据库框架greenDAO3.0使用指南
- SYD8801微信接入测试结果
- 对抗式生成网络---验证码的生成
- MySQL 安装配置
- java实现单点登录
- Python open()文件处理使用介绍
- tomcat建立连接
- 111. Minimum & Maximum Depth of Binary Tree
- RocketMQ在windows上安装和开发使用