greendao使用详解 greendao数据库升级教程

关于GreenDao
greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案 。

greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
GreenDao的优势
1.一个精简的库
2.性能最大化
3.内存开销最小化
4.易于使用的 APIs
5.对 Android 进行高度优化
GreenDao 3.0使用
API:
1.)实体@Entity注解
schema:告知GreenDao当前实体属于哪个schema
active:标记一个实体处于活动状态 。活动实体有更新、删除和刷新方法
nameInDb:在数据中使用的别名 。默认使用的是实体的类名
indexes:定义索引 。可以跨越多个列
createInDb:标记创建数据库表**
2.)基础属性注解
@Id :主键 Long型 。可以通过@Id(autoincrement = true)设置自增长
@Property:设置一个非默认关系映射所对应的列名 。默认是的使用字段名举例:@Property (nameInDb=”name”)
@NotNul:设置数据库表当前列不能为空
@Transient:添加次标记之后不会生成数据库表的列
3.)索引注解
@Index:使用@Index作为一个属性来创建一个索引 。通过name设置索引别名 。也可以通过unique给索引添加约束
@Unique:向数据库列添加了一个唯一的约束
4.)关系注解
@ToOne:定义与另一个实体(一个实体对象)的关系
@ToMany:定义与多个实体对象的关系
android studio 实际项目中使用
1 。配置
在project下的gradle里面添加
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
在app里面添加
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
创建一个实体类
这里我只是做个demo 就只配了表面和主键
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
配好了ctrl+F9 编译下当前Module 。greedao的插件就会在配置的路径中生成相应的代码 。
红线是插件自动生成的 。2个没有没有画的 。是大神对版本升级时候对数据库的操作 。
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
在app入口初始化 。这里我添加了版本升级的代码 。
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
下面这个是不用版本升级的代码 。对GreenDao的初始化
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
acitivty代码
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
运行结果
插入了5条数据 。删除了第一条 。更新了第二条 。
greendao使用详解 greendao数据库升级教程

文章插图

greendao使用详解 greendao数据库升级教程

文章插图
版本升级的时候 。注意当字段改了之后 。要更改数据库版本号 。若没有的改变的话就不用改 。
另外数据库版本升级 。demo中使用的是别人写的一个 。采用的是把原来的数据拷贝一份然后删除 。重新创建数据库 。再把数据copy回去 。

推荐阅读