c语言编程笔录

首页 >   > 笔记大全

笔记大全

Android数据库greenDAO如何配置与使用

更新时间:2023-11-27

GreenDAO简介

GreenDAO是一个简单且强大的轻量级ORM解决方案,它采用原始查询方式进行操作。GreenDAO支持Android、Java和Kotlin语言,是一个高效的ORM库,可以帮助开发者快速的创建和处理基于SQL的关系数据表,同时还可以很方便的实现自动的数据库结构升级,并且具有较高的性能和稳定性。

GreenDAO使用步骤

在开始使用GreenDAO之前,需要先进行GreenDAO库的版本引入,修改project下的‘build.gradle’文件,导入GreenDAO库。下面介绍GreenDAO的使用步骤

1. 定义实体类,可以使用GreenDAO自动生成model代码。

2. 配置DaoMaster和DaoSession,其中DaoMaster类是数据库的管理类,可以很方便的获取DaoSession的实例,DaoSession是与数据库的会话接口,可以通过DaoSession对表进行操作。

3. 配置数据表,GreenDAO的数据表配置采用的是注解的方式。

4. 实现数据库增、删、改、查操作,通过DaoSession获取相应的Dao类实例,然后调用相应的方法完成相应的操作。

GreenDAO配置与使用

GreenDAO库版本引入:

dependencies {
    //导入GreenDAO库,引入2.2.0版本
    implementation 'org.greenrobot:greendao:2.2.0'
}

实体类的定义,使用GreenDAO自动生成model代码:

@Entity
public class User {
    @Id
    private Long id;
    private String name;
    private int age;
    
    ...
    //get set方法 
}

配置DaoMaster和DaoSession:

public class DBHelper extends DaoMaster.DevOpenHelper {
    public DBHelper(Context context, String name) {
        super(context, name);
    }

    public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
        super(context, name, factory);
    }
    /**
     * 获取DaoSession实例
     * 
     * @return DaoSession
     */
    public DaoSession getDaoSession() {
        SQLiteDatabase db = getWritableDatabase();
        DaoMaster daoMaster = new DaoMaster(db);
        return daoMaster.newSession();
    }
}

配置数据表,使用注解的方式:

public class UserDao {
    @Insert
    public void insert(User user) {
    ...
    }

    @Delete
    public void delete(User user) {
    ...
    }

    @Update
    public void update(User user) {
    ...
    }

    @Query("SELECT * FROM USER WHERE name LIKE :name")
    public List query(String name) {
        ...
    }
}

实现数据库增、删、改、查操作:

//获取DaoSession实例
DaoSession session = dbHelper.getDaoSession();
//获取UserDao实例
UserDao userDao = session.getUserDao();
//新增用户
User user = new User();
user.setName("张三");
user.setAge(20);
userDao.insert(user);
//删除用户
userDao.delete(user);
//修改用户
user.setAge(25);
userDao.update(user);
//查询用户
List<User> userList = userDao.query("张三");

总结

GreenDAO是一个高效、稳定的ORM库,可以帮助开发者快速的实现SQL数据库的操作,其核心思路是对应Java的实体类结构,将数据表定义归纳到DAO类之中,使得我们可以基于OOP思想来配置数据表以实现后续数据的操作。对于使用GreenDAO的开发者来说,唯一需要做的就是定义实体类,然后通过自己的DAO类实现数据库的操作。GreenDAO提供的是一个接口,不涉及到具体的实现,其底层仍然采用原始查询方式,操作简单,使用灵活,抽象封装程度高,性能更为卓越。通过学习本文能够理解如何使用GreenDAO进行数据库的操作。