首先:
greenDAO是一款开源的面向 Android 的轻便、快捷的 ORM 框架,将 Java 对象映射到 SQLite 数据库中,我们操作数据库的时候,无需要编写复杂的 SQL语句, 在性能方面,greenDAO 针对 Android 进行了高度优化, 最小的内存开销 、依赖体积小 同时还是支持数据库加密。
下面连接是集成和使用的详细说明:GreenDao集成和使用
开始上代码:
1.创建greedao数据库
创建的表为
另外还有DAOMaster、DAOSession。DAOMaster主要是负责数据库创建和升级,DAOSession负责获得实体类的xxxDAO,来进行增删改查。
DAOMaster内部有个OpenHelper,继承DatabaseOpenHelper,DatabaseOpenHelper又继承SQLiteOpenHelper。
(另外,DAOMasterDevOpenHelper,在升级数据库的时候会把所有表删除掉,然后创建新的表,会会照成原始数据的缺失。)
可以看到,OpenHelper就是SQLiteOpenHelper的封装,且是抽象类,所以重点来了:
数据库升级 需要我们自行处理,即继承OnUpgrade()。那这样就和以往SQLiteOpenHelper一样,需要判断版本号,然后写SQL进行新增字段或新增表。这样显然不好,我们就是不想写SQL的,而且版本号判断维护麻烦。
所以怎么办?有办法: