greendao相比传统数据库开发有诸多优点,greenDAO是一款开源的面向 Android 的轻便、快捷的 ORM 框架,将 Java 对象映射到SQLite数据库中,我们操作数据库的时候,不再需要编写复杂的 SQL语句, 在性能方面,greenDAO针对 Android 进行了高度优化, 最小的内存开销 、依赖体积小 同时还是支持数据库加密。
集成
implementation ‘org.greenrobot:greendao:3.2.2’
implementation ‘org.greenrobot:greendao-generator:3.2.2’
build.gradle添加
greendao {
schemaVersion 1 //版本
daoPackage 'st.com.lockcontroll.gen' // 一般为app包名+生成文件的文件夹名
targetGenDir 'src/main/java' //生成文件路径
}
升级
添加依赖
implementation ‘io.github.yuweiguocn:GreenDaoUpgradeHelper:v2.2.1’
public class DbOpenHelper extends DaoMaster.DevOpenHelper {
public DbOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
super(context, name, factory);
}
@Override
public void onUpgrade(Database db, int oldVersion, int newVersion) {
//切记不要调用super.onUpgrade(db,oldVersion,newVersion)
if (oldVersion < newVersion) {
MigrationHelper.migrate(db, UserModelDao.class);
MigrationHelper.migrate(db, RecordModelDao.class);
MigrationHelper.migrate(db, XmlModelDao.class);
MigrationHelper.migrate(db,OpenRecordModelDao.class);
}
}
}