Android ORM框架 GreenDao3.0的使用

释放双眼,带上耳机,听听看~!

GreenDao是目前比较流行的Orm框架,GreenDao的文档和支持率比较高,GreenDao采用了大量的注解,省去了新建项目的繁琐,使用起来更加简洁明了,今天有时间学习一下顺便分享一下用法和遇到的坑。

greenDao是一个将对象映射到SQlite数据库中的轻量且快速的ORM解决方案。优势在于简洁的库,性能最大化,内存开销最小化,对android进行高度的优化

1.首先gradle引入

 

compile 'org.greenrobot:greendao:3.2.0' //<-- add plugin
compile 'org.greenrobot:greendao-generator:3.0.0'
apply plugin: 'org.greenrobot.greendao'
greendao {
schemaVersion 1
daoPackage 'com.anye.greendao.gen'
targetGenDir 'src/main/java'
}

这里一定要在工程的build.gradle里面配置

 

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'//GreenDao
}
}

2 创建实体注解

 

package com.bajiemaimeng.greendaomanager.entry;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Transient;
import org.greenrobot.greendao.annotation.Generated;
/**
 * 作者:陈鹤 on 2018/3/30.
 * 版本:v1.0
 */
@Entity
public class User {
@Id
private Long id;
private String name;
@Transient
private int tempUsageCount; // not persisted
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
@Generated(hash = 873297011)
public User(Long id, String name) {
this.id = id;
this.name = name;
}
@Generated(hash = 586692638)
public User() {
}
}
schema:告知GreenDao当前实体属于哪个schema
active:标记一个实体处于活动状态,活动实体有更新、删除和刷新方法
nameInDb:在数据中使用的别名,默认使用的是实体的类名
indexes:定义索引,可以跨越多个列
createInDb:标记创建数据库表
获取对象mUserDao = GreenDaoHelper.getDaoSession().getUserDao();

 

//1. 增
//
//        mUser = new User((long)2,"anye3");
//        mUserDao.insert(mUser);//添加一个
//        2. 删
//
//        mUserDao.deleteByKey(id);
//        3. 改
//
//        mUser = new User((long)2,"anye0803");
//        mUserDao.update(mUser);
//        4. 查
//
//        List<User> users = mUserDao.loadAll();
//        String userName = "";
//        for (int i = 0; i < users.size(); i++) {
//        userName += users.get(i).getName()+",";
//        }

 

人已赞赏
Android文章

Android 用signkey.jks签名文件对 Apk 进行签名

2020-3-25 16:33:45

Android文章

Android 版本更新

2020-3-25 17:22:50

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索