Android数据库greenDAO如何配置与使用
更新时间:2023-07-17GreenDAO简介
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 Listquery(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进行数据库的操作。