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()+",";
//        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值