前言
可能等待对于每个人来说都是痛苦的,但是如果你无法忍受等待带类的孤单和寂寞,那你就无法享受心满意足的感觉。
GreenDao能做什么
我们可以使用GreenDao在本地创建数据库和数据包对从服务端的数据库中的数据表中获取的数据进行相关的操作
AndroidStudio中的配置
1.在项目的build.gradle文件中添加 classpath ‘org.greenrobot:greendao-gradle-plugin:3.2.2’
2在app的build.gradle文件中添加
apply plugin: ‘org.greenrobot.greendao’
compile ‘org.greenrobot:greendao:3.2.2’ // add library
经过以上的两部操作greendao就已经配置完成了
创建javaBean保存对应的表数据
创建一个购物表存放购物的信息
字段的对应的意义可以清楚的看出,我就简单的说一下那个注解吧。
@Entity :标识当前的类是可以生成数据表的类
@Id:标识当前的字段是一个主键,同时设置是否自增
@Property 为当前的字段自定义别的名称
@NotNull:属性不能为空
@Transient:使用该注释的属性不会被存入数据库的字段中
@Unique:该属性值必须在数据库中是唯一值
@Generated:编译后自动生成的构造函数、方法等的注释,提示构造函数、方法等不能被修改
备注:构造器,get/set方法gradle会自动帮我们生成。
创建数据库
通过编写一个自定义的application继承于Application在这个Application的onCreate()方法中进行数据库初始化
DevOpenHelper:创建SQLite数据库的SQLiteOpenHelper的具体实现
DaoMaster:GreenDao的顶级对象,作为数据库对象、用于创建表和删除表
DaoSession:管理所有的Dao对象,Dao对象中存在着增删改查等API
Dao :通过getXXX()获取操作对应数据表的dao
进行数据表的操作
进行表的增删该查
GreenDao 的其他api
增加单个数据
getShopDao().insert(shop);
getShopDao().insertOrReplace(shop);
增加多个数据
getShopDao().insertInTx(shopList);
getShopDao().insertOrReplaceInTx(shopList);
查询全部
List< Shop> list = getShopDao().loadAll();
List< Shop> list = getShopDao().queryBuilder().list();
查询附加单个条件
.where()
.whereOr()
查询附加多个条件
.where(, , ,)
.whereOr(, , ,)
查询附加排序
.orderDesc()
.orderAsc()
查询限制当页个数
.limit()
查询总个数
.count()
修改单个数据
getShopDao().update(shop);
修改多个数据
getShopDao().updateInTx(shopList);
删除单个数据
getTABUserDao().delete(user);
删除多个数据
getUserDao().deleteInTx(userList);
删除数据ByKey
getTABUserDao().deleteByKey();