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

GreenDao数据库

程序员文章站 2024-03-21 10:04:28
...

如何配置GreenDao
1.在项目的build.grade的文件里加入一行代码
dependencies {
classpath ‘com.android.tools.build:gradle:3.2.0’
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0’

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

2.在App的build.grade的文件里加入代码
apply plugin: ‘org.greenrobot.greendao’

在android中添加
greendao {
schemaVersion 1//数据库版本号
daoPackage ‘jinyuanyuan.bw.com.greendaos.mygreendao’//设置DaoMaster、DaoSession、Dao包名
targetGenDir ‘src/main/java’//设置DaoMaster、DaoSession、Dao目录
//targetGenDirTest:设置生成单元测试目录
//generateTests:设置自动生成单元测试用例
}

3.导入依赖
implementation ‘org.greenrobot:greendao:3.2.2’

4.创建一个实体类
解析的数据中,找到你要找到的数据
加上 :@Entity

5.通过(make Project)锤出
1>DaoMaster
2>DaoSession
3>StudentDao

6.创建一个MyApp extends Application,在清单文件中注册(name)** 配置数据库 **
private static DaoSession mDaoSession;
@Override
public void onCreate() {
super.onCreate();
initGreenDao();
}
private void initGreenDao() {
//第一步创建OpenHelper类
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(this, “lxx.db”);
//开启一个可写数据库类
SQLiteDatabase writableDatabase = openHelper.getWritableDatabase();
//通过DaoMaster封装
DaoMaster master = new DaoMaster(writableDatabase);
mDaoSession = master.newSession();
}

public static DaoSession getDaoSession() {
return mDaoSession;
}

7.在MainActivity中调用MyApp里面的方法
StudentDao dao = MyApp.getDaoSession().getStudentDao();

8.增删改查
//插入数据
private void insertStu() {
Student student = new Student(“李广强”, “丑八怪”, 38);
long insert = mStuDao.insert(student);
if (insert > 0) {
Toast.makeText(this, “插入成功”, Toast.LENGTH_SHORT).show();
}
}

//删除数据  删除必须要删除数据库里面存在的数据
private void deleteStu() {
    mStuDao.deleteByKey(1l);
    Toast.makeText(this, "删除成功", Toast.LENGTH_SHORT).show();
}

//修改数据
private void updateStu() {
    //修改必须要修改数据库里面存在的数据
    Student student = mStuDao.load(1l);
    student.setAge(3);
    student.setName("wwd");
    student.setSex("奇丑无比");
    mStuDao.update(student);
}

//查询数据
private void selectStu() {
    //查询所有数据
    GetContent.setText("");
    List<Student> students = mStuDao.loadAll();
    GetContent.setText(students.toString());
}