GreenDao学习历程01

了解android开发的人应该都会知道,android的数据库开发主要用到sqlite(如果这点你不清楚,那这篇文章就直接pass吧)。greenDAO应该算是当前最火的数据库开源框架了吧,它是一个移动开发的ORM(object / relational mapping)框架,至于ORM是什么,可以百度之,本人理解也不是很深,大概意思就是为懒人设计的能够将对象和关系以映射的方式表达出来。
因为参加的一个比赛需要用到SQLite的工具类,于是学习了一下GreenDao,这篇文章只是记录一下我的学习历程,有任何不对的地方欢迎指正,谢谢。(我用到的是android studio)

一:工具的下载。

工欲善其事必先利其器。首先需要下载三个jar包:greendao-1.3.7.jar,greendao-generator-1.3.0.jar,freemarker-2.3.8.jar,在这里给出地址:http://search.maven.org/(直接搜索greendao和freemarker),接下来解释一下各自的功能:
***greendao-generator-1.3.0.jar:生成你希望的java对象所对应的DAO接口对象。(其实就是生成了四个文件,后面例子会具体讲解)。

***greendao-1.3.7.jar:包含核心的几个类:
greendao中的核心类
DaoMaster:它保存了sqlitedatebase对象以及操作DAO classes(注意:不是对象)。其提供了一些创建和删除table的静态方法,其内部类OpenHelper和DevOpenHelper实现了SQLiteOpenHelper并创建数据库的框架。
DaoSession:会话层。操作具体的DAO对象(注意:是对象),比如各种getter方法。
XXXDao:实际生成的某某DAO类,通常对应具体的java类,比如NoteDao等。其有更多的权限和方法来操作数据库元素。
XXXEntity:持久的实体对象。通常代表了一个数据库row的标准java properties。

***freemarker-2.3.8.jar:freemarker是一个用java写的模板引擎,它能够基于模板来生成文本输出。用来自动生成DAO文件的。

二:生成类及参数配置

1.新建Java项目

步骤一

步骤二

步骤三

2.导入外部jar包

将greendao-1.3.7.jar拷贝在app/libs目录下,在android studio面板中右击导入的jar包,选择“添加到Module”,在弹出框中选择“app”,则app/builde.grandle配置文件会出现如下代码:
配置文件

将greendao-generator-1.3.0.jar,freemarker-2.3.8.jar拷贝在generator/libs目录下,在android studio面板中右击导入的jar包,选择“添加到Module”,在弹出框中选择“generator”,则generator/builde.grandle配置文件会出现如下代码:
配置文件
为了能够运行generator生成文件,将配置文件修改如下:

apply plugin: 'application'
apply plugin: 'java'

//设置主class,否则编译不通过
mainClassName = "com.example.MyDaoGenerator"

//设置自动生成类的目录,这个目录不是本lib的目录,而是另一个需要被主app引用的目录
def outputDir = "../app/src/main/java"

dependencies {
    //添加generator工具引用
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/greendao-generator-1.3.0.jar')
    compile files('libs/freemarker-2.3.8.jar')
}

//自动创建文件夹
task createDocs {
    def docs = file(outputDir)
    docs.mkdirs()
}
//执行
run {
    args outputDir
}

3.编写生成类

生成类

4.文件生成

切换到grandle界面,刷新点击generator的Run运行
运行Java文件
如果成功运行,则你会发现指定目录下生成了四个文件
运行结果

猜你喜欢

转载自blog.csdn.net/aimomo007/article/details/51850450