GreenDao使用入门
2015-11-16 16:11
417 查看
GreenDao使用入门
她是一个ORM框架。常见的一些ORM框架:
- ORMLite
- GreenDao
- ormndroid
- androrm
ORM(Object Relation Mapping):对象关系模型。用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。ORM作为项目中间件形式实现数据在不同场景下数据关系映射,对象关系映射是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
目前网络上流传的大部分是用Eclispe部署,本文将介绍GreenDao的部署与自动生成器的使用.
开发工具使用android studio 1.3.1版本.
1 获取GreenDao
Githubhttps://github.com/greenrobot/greenDAO
你可以下载源码,自己构建工程编译来使用,也可以使用gradle来自动构建:
Gradle dependency for your Android :(添加greendao依赖)
compile 'de.greenrobot:greendao:2.0.0'
Gradle dependency for your Java generator project:(添加greendao自动生成器依赖)
compile 'de.greenrobot:greendao-generator:2.0.0'
2 使用greendao-generator生成代码
1 新建module,类型为Java-Library:2 打开mydao的build.gradle
3 为mydao添加greenDao和greendao-generator依赖
可以看到,我们添加了个依赖库,一个是greendao,一个是generator。
你必须两个库都添加。
4 编写MyDaoGenerator,准备生成自己的Dao相关类
public class MyDaoGenerator { public static void main(String args[]) throws Exception { //指定数据库版本和包名 Schema schema = new Schema(1, "cn.example.dao"); //添加各种数据对象 addReportDao(schema); addRecordDao(schema); //生成到指定的目录下 String filePath = "/app/src/main/java"; File dir = new File(""); File tarDir = new File(dir.getAbsoluteFile()+filePath); //或者,指定绝对路径,但目录必须提前新建好 //tarDir = new File("F:\count-dao-gen"); new DaoGenerator().generateAll(schema, tarDir.getAbsolutePath()); } private static void addReportDao( Schema schema){ //创建数据类DataObject1 Entity note = schema.addEntity("DataObject1"); note.addIdProperty(); //添加各种属性,你懂的 note.addDoubleProperty("property1").notNull(); note.addDoubleProperty("property2").notNull(); note.addStringProperty("property3").notNull(); note.addDateProperty("property4").notNull(); note.addDateProperty("property5").notNull(); } private static void addRecordDao( Schema schema){ Entity note = schema.addEntity("DataObject2"); note.addIdProperty(); note.addBooleanProperty("ppp2"); note.addDoubleProperty("ppp3").notNull(); note.addStringProperty("ppp4").notNull(); note.addDateProperty("ppp5").notNull(); } }
run之,可得
查看生成的代码
简直太爽了有没有,数据对象类和对应的DAO自动生成。
3 使用greenDao
具体使用网络上有很多,就不一一列举了,贴个插入数据的代码吧.插入:
DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "notes-db", null); SQLiteDatabase db = helper.getWritableDatabase(); DaoMaster daoMaster = new DaoMaster(db); DaoSession daoSession = daoMaster.newSession(); DataObject1Dao data1Dao = daoSession.getDataObject1Dao(); //自己写个data对象来测试 DataObject1 data = new DataObject1(1, property1, property2, property3, property4, property5); noteDao.insert(data);
相关文章推荐
- mysql重复数据下,删除一条重复数据
- 内存检测工具valgrind
- 6.请求网络步骤
- 虚拟服务器使用E1000E类型的网卡,可能会 导致故障转移功能通信异常,不稳定
- JAVA加密C++解密简单方法
- iOS 9打印-canOpenURL: failed for URL
- 2015-11-16 【项目1 - 二叉树算法验证】
- Nginx服务器的安装与一些基本配置总结
- 【LeetCode-290】Word Pattern(C++)
- fir.im Weekly - iOS 保持界面流畅的技巧
- Ubuntu安装配置samba
- 12个用得着的jQuery代码片段
- You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)
- 简单打包 ipa 方式!
- ios 自动布局
- 找不到dubbo:annotaion错误
- linux 修改系统时间
- 兼容多浏览器的漂浮窗口特效jQuery
- 图及其储存结构
- ThreadPoolExecutor实现原理