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

Android studio配置 GreenDao 3.2.2

程序员文章站 2024-03-25 10:14:52
...

Android studio配置 GreenDao 3.2.2

首先在项目的build.gradle,记住是最外面的gradle,不是app的gradle

buildscript {
    repositories {
       ...
        // 添加插件
        mavenCentral() // add repository
    }
    dependencies {
       	...
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
    }
}

接下来在app目录下的build.gradle中添加

//第一行添加
apply plugin: 'org.greenrobot.greendao' // apply plugin
...

android {
    ...
}

greendao {
    schemaVersion 1 //数据库版本号
    //这里添加的是生成DaoMaster,DaoSession和XXDao文件的地方,com.felix.testapplication是我项目的主目录,它会给你在主目录下生成gen文件夹
    daoPackage 'com.felix.testapplication.gen'
}

dependencies {
    ...
    implementation 'org.greenrobot:greendao:3.2.2' // add library
}

新建实体类User

@Entity
public class User {
    @Id(autoincrement = true)
    long id;
    String name;
    int age;
}

@Entity:将我们的java普通类变为一个能够被greenDAO识别的数据库类型的实体类;
@nameInDb:在数据库中的名字,如不写则为实体中类名;
@Id:选择一个long / Long属性作为实体ID。 在数据库方面,它是主键。 参数autoincrement是设置ID值自增;
@NotNull:使该属性在数据库端成为“NOT NULL”列。 通常使用@NotNull标记原始类型(long,int,short,byte)是有意义的;
@Transient:表明这个字段不会被写入数据库,只是作为一个普通的java类字段,用来临时存储数据的,不会被持久化。

写完之后rebuild一下,下面是greendao帮我修改后的User类,它会帮你把get/set方法生成

package com.felix.testapplication.entity;

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

@Entity
public class User {
    @Id(autoincrement = true)
    long id;
    String name;
    int age;
    @Generated(hash = 446251977)
    public User(long id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
    @Generated(hash = 586692638)
    public User() {
    }
    public long getId() {
        return this.id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return this.age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

然后,greendao会在你在build.gradle文件中配置的路径位置生成以下文件

Android studio配置 GreenDao 3.2.2

不用担心它在build目录里,当你打包的时候会一起打进去的,这时你就可以使用这些文件中的函数来操作你的数据库了,使用方法在csdn上有很多,这里就不介绍了,这里只是我在配置的时候遇到些问题