关于GreenDao
GreenDao是在android原生数据库SqLite基础上封装的简单实用类库,github地址
GreenDao项目集成
在Android Studio module中导入包
compile 'org.greenrobot:greendao:3.2.2'
在项目build.gradle中进行配置
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
}
在module build.gradle中应用插件
apply plugin: 'org.greenrobot.greendao'
GreenDao项目使用
- 新建User类
@Entity public class User { @Id private Long id; private String name; @Transient private int number; }
- MakeProject
编译项目,User实体类会自动编译,生成get、set方法;
- GreenDao注释
@nameInDb 在数据库中的名字,如不写则为实体中类名@indexes 索引
@createInDb 是否创建表,默认为true,false时不创建
@schema 指定架构名称为实体
@active 无论是更新生成都刷新
@Id
@NotNull 不为null
@Unique 唯一约束
@ToMany 一对多
@OrderBy 排序
@ToOne 一对一
@Transient 不存储在数据库中
@generated 由greendao产生的构造函数或方法
GreenDao使用
获取UserDao
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this, "USER");
DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDatabase());
DaoSession mDaoSession = daoMaster.newSession();
UserDao userDao = mDaoSession.getUserDao();
增
User user = new User();
user.setName("JQChen");
mUserDao.insert(user);
查
List<User> list = mUserDao.loadAll();
for (User user :
list) {
Log.i("info",user.toString());
}
改
User user = new User((long)1,"Jqchen");
mUserDao.update(user);
删除
mUserDao.delete(user);
mUserDao.deleteByKey((long)1);
本文demo下载地址:https://github.com/Chenziquan/GreenDao.git
本文有任何问题,欢迎指正。