欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

GreenDao配置及使用

程序员文章站 2022-04-13 23:27:05
一:配置1.在项目的build.gradle下加dependencies {//greenDao生产代码插件classpath ‘org.greenrobot:greendao-gradle-plugin:3.2.2’ // add plugin}2.在Module下的build.gradle文件加apply plugin: ‘org.greenrobot.greendao’ // apply pluginandroid {…//greendao配置greendao {//数据库版本...

一:配置

1.在项目的build.gradle下加
dependencies {
//greenDao生产代码插件
classpath ‘org.greenrobot:greendao-gradle-plugin:3.2.2’ // add plugin
}
2.在Module下的build.gradle文件加
apply plugin: ‘org.greenrobot.greendao’ // apply plugin
android {

//greendao配置
greendao {
//数据库版本号,升级时修改
schemaVersion 1
//生成的DAO,DaoMaster和DaoSession的包路径。默认与表实体所在的包路径相同
daoPackage ‘com.example.xts.greendaodemo.db’
//生成源文件的路径。默认源文件目录是在build目录中的(build/generated/source/greendao)
targetGenDir ‘src/main/java’
}
}

dependencies {
//greenDAO配置
implementation ‘org.greenrobot:greendao:3.2.2’ // add library
implementation ‘org.greenrobot:greendao-generator:3.2.2’
}

  • 配置完1后同步,在配置2,如果同步2的时候报
    GreenDao配置及使用
    把项目的:
    classpath ‘org.greenrobot:greendao-gradle-plugin:3.3.0’ // add plugin 3.2.2改成3.3.0
    把Module的:
    implementation ‘org.greenrobot:greendao-generator:3.3.0’ // 3.2.2改成3.3.0
    *以上两步如果没有问题配置完成

二:使用

1.创建实体类

@Entity
public class Bean {
@Id
private Long id;//必须为Long类型,大写
private String date;
@Unique
private String key;
private int step;
@Transient//表示该字段不会插入数据库
....
}

2.创建一个自己的application,继承Application

public class App extends Application {
    private static DaoSession daoSession;
    @Override
    public void onCreate() {
        super.onCreate();
        DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this, "user.db");
        DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDatabase());
        daoSession = daoMaster.newSession();
    }
    public static DaoSession getSession(){
        return daoSession;
    }
}

3.创建一个工具类DbUtils

public class DbUtil {
    static {
        daoSession = App.getSession();
    }
    static DaoSession daoSession;
    //插入
    public static void insert(PhoneBean bean){
        if(!queryOne(bean)){
            daoSession.insert(bean);
        }
    }
    //删除
    public static void delete(PhoneBean bean){
        if(queryOne(bean)){
            daoSession.delete(bean);
        }
    }
    //查询单个
    public static boolean queryOne(PhoneBean bean){
        PhoneBean unique = daoSession.queryBuilder(PhoneBean.class)
                .where(PhoneBeanDao.Properties.Phone.eq(bean.getPhone()))
                .unique();
        return unique==null?false:true;
    }
    //查询所有
    public static List<PhoneBean> queryAll(){
        return daoSession.loadAll(PhoneBean.class);
    }
}

4.在清单文件中配置自己的application
android:name=".ui.App"
5.在需要使用的地方直接调用即可

本文地址:https://blog.csdn.net/qq_46237697/article/details/109001407

相关标签: andrioid