android mysql移植_Android GreenDao使用和数据库迁移详解

本文详细介绍了GreenDao在Android中的使用,包括其优点、配置步骤、实体类创建、数据库管理类的创建以及基本的数据库操作,如插入、删除、更新和查询。此外,还讨论了数据库版本升级的过程。
摘要由CSDN通过智能技术生成

1、GreenDao 介绍:

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

655c2dbdd0ff

image

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'

}

具体截图如下:

655c2dbdd0ff

app projects build.gradle

655c2dbdd0ff

root build.gradle

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

655c2dbdd0ff

实体类添加@Entity注解

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

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

655c2dbdd0ff

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、创建数据库管理类

使用单例模式

655c2dbdd0ff

使用单例模式

2、获取可读数据库

655c2dbdd0ff

获取可读数据库

3、获取可写数据库

655c2dbdd0ff

获取可写数据库

4、插入一条记录

655c2dbdd0ff

插入一条记录

-5 、插入用户集合

655c2dbdd0ff

插入用户集合

6、删除一条记录

655c2dbdd0ff

删除一条记录

-7、更新一条记录

655c2dbdd0ff

更新一条记录

-8、查询用户列表

655c2dbdd0ff

查询用户列表

7、 数据库版本升级

655c2dbdd0ff

数据库版本升级

在这里修改数据库版本号

655c2dbdd0ff

在这里修改数据库版本号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值