美文网首页Android开发实战总结
Android GreenDao使用和数据库迁移详解

Android GreenDao使用和数据库迁移详解

作者: AKyS佐毅 | 来源:发表于2017-11-03 10:44 被阅读201次

1、GreenDao 介绍:

  • greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。如下图所示:
image

先放Demo,Demo地址戳这里👇

2、GreenDao 优点:

  • 性能高,号称Android最快的关系型数据库

  • 内存占用小

    • 库文件比较小,小于100K,编译时间低,而且可以避免65K方法限制
  • 支持数据库加密 greendao支持SQLCipher进行数据库加密 有关SQLCipher可以参考这篇博客Android数据存储之Sqlite采用SQLCipher数据库加密实战

  • 简洁易用的API

3、在build.grade中配置插件信息并引入依赖包

// In your root build.gradle file: 设置脚本的运行环境(如果用在app启动模块,直接加3,4步,在lib模块整个需要加进去)
buildscript {
    repositories {
        jcenter()
        mavenCentral() // add repository 支持java 依赖库管理(maven/ivy),用于项目的依赖。
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin 依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件
    }
}
 
// In your app projects build.gradle file:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin  声明添加的插件类型
 
dependencies {
    compile 'org.greenrobot:greendao:3.2.2' // add library
}
//自定义Greendao版本和生成路径
greendao {
    //数据库版本号,数据库修改后这里一定要记得修改,否则会报错no such table
    schemaVersion 1
    //通过gradle插件生成的数据库相关文件的包名,默认为你的entity所在的包名
    daoPackage ''com.example.kenvin.greendaodemo.gen''
    //这就是我们上面说到的自定义生成数据库文件的目录了,可以将生成的文件放到我们的java目录中
    ,而不是build中,这样就不用额外的设置资源目录了
    targetGenDir 'src/main/java'
}

具体截图如下:


app projects build.gradle root build.gradle

4 、创建一个实体类,实体类添加@Entity注解

实体类添加@Entity注解

5、build(Build->Make Project)项目

  • 会自动生成一些数据库相关类,这些类在build.gradle里设置的目录下,而且实体类里面也会自动生成get/set方法


    build(Build->Make Project)项目
  • DaoMaster:使用greenDAO的切入点。DaoMaster保存数据库对象(SQLiteDatabase)并管理特定模式的DAO类(而不是对象)。 它具有静态方法来创建表或将它们删除。 其内部类OpenHelper和DevOpenHelper是在SQLite数据库中创建模式的SQLiteOpenHelper实现。一个DaoMaster就代表着一个数据库的连接。

  • DaoSession:管理特定模式的所有可用DAO对象,您可以使用其中一个getter方法获取。 DaoSession还为实体提供了一些通用的持久性方法,如插入,加载,更新,刷新和删除。 DaoSession可以让我们使用一些Entity的基本操作和获取Dao操作类,DaoSession可以创建多个,每一个都是属于同一个数据库连接的。

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

6、greenDao的简单使用

  • 1、创建数据库管理类
    使用单例模式
使用单例模式
  • 2、获取可读数据库


    获取可读数据库
  • 3、获取可写数据库


    获取可写数据库
  • 4、插入一条记录


    插入一条记录

    -5 、插入用户集合


    插入用户集合
  • 6、删除一条记录


    删除一条记录

    -7、更新一条记录


    更新一条记录
    -8、查询用户列表
    查询用户列表

7、 数据库版本升级

数据库版本升级

在这里修改数据库版本号

在这里修改数据库版本号

相关文章

  • Android GreenDao使用和数据库迁移详解

    1、GreenDao 介绍: greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方...

  • GreenDAO 3.0学习

    Android数据库框架GreenDao的简单使用 1. GreenDao介绍: greenDAO是一个对象关系映...

  • android GreenDao

    Android框架之路——GreenDao3.2.2的使用 - CSDN博客 GreenDAO 完美解决数据库升级...

  • greenDAO3.0的使用

    0 . Thanks To 玩转Android之数据库框架greenDAO3.0使用指南GreenDao3.0简单...

  • 好文章推荐

    好文章推荐 1.Android数据存储之GreenDao 3.0 详解 2.Dagger2 使用详解 3.stet...

  • GreenDao 问题集合

    GreenDao 详解 GreenDao 简介 GreenDAO 是一款开源的面向 Android 的轻便、快捷的...

  • greendao 的使用

    greendao 的使用 参考文章一篇技术好文之Android数据库 GreenDao的使用完全解析 在Andro...

  • GreenDao数据库带你出坑

    现在在Android中使用的数据库一般都是用的GreenDao,我们准备使用GreenDao的时候从网上看了很多文...

  • greendao的使用增删改查<3>

    greendao的增删改查 使用stetho查看数据库android调试桥工具stetho的使用

  • Android平台下

    greenDao的介绍 greenDao是Android数据库ORM(object/relational mapp...

网友评论

  • AKyS佐毅:单例时,最好使用ApplicationContext。

本文标题:Android GreenDao使用和数据库迁移详解

本文链接:https://www.haomeiwen.com/subject/niwzpxtx.html