GreenDao的简单使用

本文介绍如何使用GreenDao进行数据库操作,包括依赖配置、实体类创建、数据库操作类编写及基本的增删改查功能实现。

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

第一步,添加依赖,在项目目录中的build.gradle添加以下依赖

//在repositories里添加mavenCentral()【如果添加了就不用再添加了!!!】

repositories {
mavenCentral()
}

//在dependencies里添加
dependencies {
classpath ‘org.greenrobot:greendao-gradle-plugin:3.2.2’ // add plugin
}

第二步,添加依赖,在App目录中的build.gradle添加以下依赖

apply plugin: ‘org.greenrobot.greendao’ // apply plugin//(在头部)

//在dependencies里添加
implementation ‘org.greenrobot:greendao:3.2.2’ // add library//(添加依赖的那里)

第三步,在App目录中的build.gradle添加生成操作数据库类和buildTypes同一级别

greendao {
schemaVersion 1 //版本
daoPackage ‘ming.abner.com.app1102.greendao’ // 一般为app包名+生成文件的文件夹名
targetGenDir ‘src/main/java’ //生成文件路径
}

全部依赖导完毕之后可以同步一下项目,按住Ctrl+F9,或者点小锤子

第四步,创建实体类JavaBean

@Entity
public class NewsBean{
@Id(autoincrement = true)
private Long id;

    private String title;
    private String image;
    private String desc;

}

写完javabean之后再同步一下项目距,出现一个包下三个类,如下:
自定生成的三个类
第五步,创建数据库的操作类

package com.example.greendaolx2;

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

import ming.abner.com.app1102.greendao.DaoMaster;
import ming.abner.com.app1102.greendao.DaoSession;

public class BaseApplication {
private static BaseApplication mInstance;
private static DaoSession daoSession;
private static DaoMaster daoMaster;
private static SQLiteDatabase db;

private BaseApplication(Context context) {
    //通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper
    //注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
    DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(context, "contacts-db",null);
    //注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
    db = devOpenHelper.getWritableDatabase();

    daoMaster = new DaoMaster(db);
    daoSession = daoMaster.newSession();
}

public static BaseApplication getmInstance(Context context){
    if (mInstance == null){
        synchronized (BaseApplication.class){
            if (mInstance == null){
                mInstance = new BaseApplication(context);
            }
        }
    }
    return mInstance;
}
public DaoSession getDaoSession(){
    return  daoSession;
}
public DaoMaster getDaoMaster(){
    return daoMaster;
}
public static SQLiteDatabase getDb() {
    return db;
}

}

第六步,在MainActivity中调用,代码如下:

package com.example.greendaolx2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import java.util.List;

import ming.abner.com.app1102.greendao.DaoSession;
import ming.abner.com.app1102.greendao.NewsBeanDao;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    NewsBeanDao newsBeanDao = BaseApplication.getmInstance(this).getDaoSession().getNewsBeanDao();
    NewsBean newsBean = new NewsBean(null, "qqqq", "", "xixixi");
    //增
    //newsBeanDao.insert(newsBean);
    //查询
    //List<NewsBean> newsBeans = newsBeanDao.loadAll();
    //单个查询
    NewsBean load = newsBeanDao.load((long) 8);
    Log.d("jjj",load.getTitle()+"");
    //全部删除
    //newsBeanDao.deleteAll();
    //根据id删除
    //newsBeanDao.deleteByKey((long)10);
    //修改
    //NewsBean mm = new NewsBean((long) 8, "liujin", "", "");
    //newsBeanDao.update(mm);

// Log.d(“jjj”,newsBeans.size()+"");
// for (int i = 0; i < newsBeans.size(); i++) {
// String title = newsBeans.get(i).getTitle();
// Long id = newsBeans.get(i).getId();
// Log.d(“jjj”,id+“Id”+title+“标题”);
// }

}

}

这就是GreenDao的简单的增删改查了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值