配置GreenDao的步骤:
一、依赖的配置
1.首先在project gradle中配置
1.1、添加GreenDao的依赖
classpath 'com.android.tools.build:gradle:3.1.0'
Classpath ‘org.greenrobot.greendao-gradle=plugin:3.2.2
2.然后在Module gradle中配置
2.1、关联使用greendao
2.2、Apply plugin: ‘org.greenrobot.greendao’
//GreenDao配置(可以不配)
greendao{
schemaVersion 1; //数据库版本号,升级时可以配置
daoPackage ‘GreenDao.green.db’ //由greendao自动生成实体列所在的包名,默认是在项目包下新建一个gen
targetGenDir ‘src/main/java’ //设置自动生成的代码所在的目录
}
Implementation ‘org.greenrobot:greendao:3.2.2’ //greendao的依赖
2、编写实体类(例如User)
@Entity
publicclassUser{
@Id(autoincrement=true)//指明id
privatelongid;
@Unique
@NotNull
@Property(nameInDb="username")//属性字段
privateStringname;
@NotNull
privateintage;
@Transient
privateStringinfo;
}
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:定义与多个实体对象的关系
然后按CTRL + F9会自动生成set,get方法
三、使用greenDao进行数据操作
DaoMaster.DevOpenHelper devOpenHelper = new
DaoMaster.DevOpenHelper(MainActivity.this,"user-db",null);
DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDatabase());
DaoSession daoSession = daoMaster.newSession();
UserDao userDao = daoSession.getUserDao();
插入数据:userDao.insert(new User(1,“豆子”,23);
或者 User user = new User(1,“豆子”,23));
userDao.insert(user);
查找数据:多条查找:List userList = userDao.queryBuilder()
.where(UserDao.Properties.Id.eq(1);
单条查找:User user = userdao.queryBuilder()
.where(UserDao.properties.Id.eq(1)).unique();
总结:以上是我花费了一天时间,做的很简单的GreenDao的配置,只实现了查询数据,有不足之处,请多多指教。 .