关于GreenDao
greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案 。
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH02J8-0.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH0I96-1.jpg)
文章插图
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使用详解](http://img.cnfanrong.com/230714/0PH05C3-2.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH03O2-3.png)
文章插图
在app里面添加
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH0GM-4.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH061G-5.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH0JA-6.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH0IU-7.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH02S4-8.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH02406-9.png)
文章插图
创建一个实体类
这里我只是做个demo 就只配了表面和主键
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH049D-10.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH01N4-11.jpg)
文章插图
配好了ctrl+F9 编译下当前Module 。greedao的插件就会在配置的路径中生成相应的代码 。
红线是插件自动生成的 。2个没有没有画的 。是大神对版本升级时候对数据库的操作 。
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH04353-12.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH05619-13.png)
文章插图
在app入口初始化 。这里我添加了版本升级的代码 。
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH02I0-14.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH0O48-15.png)
文章插图
下面这个是不用版本升级的代码 。对GreenDao的初始化
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH05393-16.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH030H-17.png)
文章插图
acitivty代码
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH061I-18.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH03Z1-19.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH0O18-20.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH01537-21.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH04D2-22.png)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH02125-23.png)
文章插图
运行结果
插入了5条数据 。删除了第一条 。更新了第二条 。
【GreenDao使用详解 greendao使用详解】
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH045D-24.jpg)
文章插图
![GreenDao使用详解 greendao使用详解](http://img.cnfanrong.com/230714/0PH053T-25.jpg)
文章插图
版本升级的时候 。注意当字段改了之后 。要更改数据库版本号 。若没有的改变的话就不用改 。
另外数据库版本升级 。demo中使用的是别人写的一个 。采用的是把原来的数据拷贝一份然后删除 。重新创建数据库 。再把数据copy回去 。
若是没有对数据进行升级相关操作而直接更改数据库版本号的话 。数据会在项目更新的时候丢失 。
- oppor15x功能介绍 oppor15x使用教程
- 红外线体温计有使用期限吗?
- 正确用JS调用Google 使用JS文件调用Google
- 小度在家1s使用技巧 小度在家1s怎么使用
- pet2塑料瓶可以反复使用吗 pet塑料瓶可以反复使用吗
- 红外体温计有没有使用寿命
- 条件选股公式怎么用 如何使用选股公式
- 买二手硬盘怕被坑 怎样检测硬盘使用时间
- 呼吸阀口罩使用次数
- 吊钱能用去年的吗 过年吊钱能反复使用吗