GreenDao的简单配置

本文介绍了配置GreenDao的步骤,包括在项目和模块Gradle文件中添加依赖,设置数据库版本和实体类的配置。接着讲解了如何编写实体类,使用@Entity注解,以及各种属性和关系注解。最后展示了如何利用GreenDao进行数据的插入和查找操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置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的配置,只实现了查询数据,有不足之处,请多多指教。 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值