GreenDao<第五篇>:初始化数据库

图片.png

greenDAO是Android的对象/关系映射(ORM)工具。它为关系数据库SQLite提供了面向对象的接口。像greenDAO这样的ORM工具可以为您完成许多重复性任务,并为您的数据提供简单的接口。

上一篇文章中介绍了GreenDao的基本配置,完成基本配置之后重新编译就会自动生成DAO代码。

以下核心类是greenDAO的基本接口:

图片.png

DaoMaster: 使用greenDAO的切入点。 DaoMaster保存数据库对象(SQLiteDatabase)并管理特定模式的DAO类(而不是对象)。它有静态方法来创建表或删除它们。其内部类OpenHelper和DevOpenHelper是SQLiteOpenHelper实现,它们在SQLite数据库中创建模式。

DaoSession: 管理特定模式的所有可用DAO对象,您可以使用其中一个getter方法获取该对象。 DaoSession还提供了一些通用的持久性方法,如实体的插入,加载,更新,刷新和删除。最后,DaoSession对象还跟踪身份范围。

DAOs: 数据访问对象(DAO)持久存在并查询实体。对于每个实体,greenDAO生成DAO。它具有比DaoSession更多的持久性方法,例如:count,loadAll和insertInTx。

实体: 可持久的对象。通常,实体是使用标准Java属性(如POJO或JavaBean)表示数据库行的对象。

初始化数据库代码如下:

DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "demo.db", null);
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();
StudentDao studentDao = daoSession.getStudentDao();

如果该数据库结合sqlcipher对数据库加密,初始化数据库如下:

DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "notes-db-encrypted.db");
Database db = helper.getEncryptedWritableDb("<your-secret-password>");
DaoSession daoSession = new DaoMaster(db).newSession();
StudentDao studentDao = daoSession.getStudentDao();

[本章完...]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容