一.GreenDao简介
最近在写数据库的框架,用的是SQLite原生语言进行封装的,感觉非常的繁琐,效率也低,所以就来参考下GreenDao的做法,学习一下他的用法,给他简单封装,
便于后续的使用。
GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣。它减轻开发人员处理低级数据库需求,同时节省开发时间。 SQLite是一个令人敬畏的内嵌的关系数据库,编写SQL和解析查询结果是相当乏味和耗时的任务。通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”),GreenDAO可以将它们从这些映射中释放出来,这样,您可以使用简单的面向对象的API来存储,更新,删除和查询数据库。
简单的讲,GreenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案。
二.ORM简介
对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的。用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作实体对象的属性和方法。ORM 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化。
简单的讲,就是JavaBean和我们的数据库进行一个关系映射,一个实例对象对应数据库的一条记录,每个对象的属性则对应着数据库表的字段。
三.GreenDao的使用
先来看看效果图
一.GreenDao的配置
1.在项目的build.gradle里添加依赖
buildscript {
repositories {
jcenter()
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
2.配置app的build.gradle
①添加greendao插件
apply plugin: 'org.greenrobot.greendao'
②配置生成的数据库版本号和生成的文件的路径
greendao {
schemaVersion 1 //版本
daoPackage '包名.生成的文件夹名' // 一般为app包名+生成文件的文件夹名,例com.example.greendao.dao
targetGenDir 'src/main/java' //生成文件路径
}
③添加依赖
//greendao
implementation 'org.greenrobot:greendao:3.2.2'
implementation 'org.greenrobot:greendao-generator:3.2.2'
二.GreenDao文件的生成
1.dao实体类的写法
@Entity
public class DBbean {
@Id
private Long id;
@Property(nameInDb = "date")
private String date;
@Generated(hash = 738726528)
public DBbean(Long id, String date) {
this.id = id;
this.date = date;
}
@Generated(hash = 758483710)
public DBbean() {
}
public Long getId() {
return this.id;
}
public