GrennDao增删改查的简单实用

配置项目 build.gradle

buildscript {
    
    repositories {
        google()
        jcenter()
        mavenCentral() // add repository
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

导依赖

apply plugin: 'org.greenrobot.greendao'/写在最上面

greendao {
        schemaVersion 1 //数据库版本号
        daoPackage 'kk.com.grenndao.greenDao.db'
        // 设置DaoMaster、DaoSession、Dao 包名
        targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录
        generateTests false //设置为true以自动生成单元测试。
        targetGenDirTests 'src/main/java' //应存储生成的单元测试的基本目录。默认为 src / androidTest / java。
    }


implementation 'org.greenrobot:greendao:3.2.2'//依赖

配置MyApplication并且在清单文件注册

package kk.com.grenndao.grenn;

import android.app.Application;
import android.database.sqlite.SQLiteDatabase;

import kk.com.grenndao.greenDao.db.DaoMaster;
import kk.com.grenndao.greenDao.db.DaoSession;

public class MyApplication extends Application {

    private DaoMaster.DevOpenHelper devOpenHelper;

    private static MyApplication instances;
    private SQLiteDatabase database;
    private DaoMaster daoMaster;
    private DaoSession daoSession;

    @Override
    public void onCreate() {
        super.onCreate();
        instances =this;
    }
    private void setDataBase() {
        devOpenHelper = new DaoMaster.DevOpenHelper(this, "a.db", null);
        database = devOpenHelper.getWritableDatabase();
        daoMaster = new DaoMaster(database);
        daoSession = daoMaster.newSession();
    }
    public static MyApplication getInstances() {
        return instances;
    }
    public SQLiteDatabase getDatabase() {
        return database;
    }

    public DaoSession getDaoSession() {
        return daoSession;
    }
}

封装的Bean类 

package kk.com.grenndao.grenn;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;

@Entity
public class Bean {
    @Id(autoincrement = true)
    Long id;
    String name;
    String sex;
    String age;


    @Generated(hash = 403787387)
    public Bean(Long id, String name, String sex, String age) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    @Generated(hash = 80546095)
    public Bean() {
    }


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}

继承Application

public class MyApplication extends Application {

    private DaoMaster.DevOpenHelper devOpenHelper;

    private static MyApplication instances;
    private SQLiteDatabase database;
    private DaoMaster daoMaster;
    private DaoSession daoSession;

    @Override
    public void onCreate() {
        super.onCreate();
        instances =this;
    }
    private void setDataBase() {
        devOpenHelper = new DaoMaster.DevOpenHelper(this, "a.db", null);
        database = devOpenHelper.getWritableDatabase();
        daoMaster = new DaoMaster(database);
        daoSession = daoMaster.newSession();
    }
    public static MyApplication getInstances() {
        return instances;
    }
    public SQLiteDatabase getDatabase() {
        return database;
    }

    public DaoSession getDaoSession() {
        return daoSession;
    }
}
想在哪里使用就直接获取这个对象,直接做增删改查
dataBaseDao = MyApplication.getIntence().getDaoSession().getDataBaseDao();

猜你喜欢

转载自blog.csdn.net/wangshuo_/article/details/88582684