1、前言

  ORM(Object-RelationMapping,对象关系映射),是一种为了解决面向对象与数据库存在的互一匹配的现象的技术,通过描述对象和关系数据库之间的映射,将程序中的对象自动持久化到关系数据库中。web中有很多的框架,像ssh2这些框架,其中的hibernate对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲使用对象编程思维来操作数据库。当然Android中也有这样的框架,其中之一就是GreepDAO。GreepDAO是一个可以帮助Android开发者快速将Java对象映射到SQLLite数据库的表单中的ORM解决方案。使用GreepDAO框架,心对对象的形式去访问数据库。如果大家熟悉web中的sping+hibernate+struts的话,这就跟hibernete是一样的原理。

2、首先要下载三个包,

下载地址:http://download.csdn.net/detail/csm_qz/8569031

3、在eclipse里面那一个java项目就取名叫MyGreenDao,记住是java项目,不是android项目。然后把三个包导入进去。导入的方法:项目-》build path->configur build path,在Java Build Path里面选择Libraries->Add External JARs,然后选中上面下载的三个包-》OK。包就导入进去了

4、MyGreenDao里面有一个源文件src,再创建一个src-gen(创建方法:MyGreenDao-》new->source folder),也可以不用创建源文件,看自己的需要了

5、在src下创建 一个类,里面的代码如下:

package com;

import java.io.IOException;

import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema; public class GreenDao {
public static void main(String[] args) throws IOException, Exception {
// 参数3是数据库版本号,
//“com.cn.speedchat.greendao”是包名,也就是说生成的Dao文件会在这个包下
Schema schema = new Schema(1, "com.cn.speedchat.greendao");
addStu(schema);
//这个是生成Dao文件的路径的位置,这个代表当前工程的上一级目录的javagreendao的src-gen文件夹里面,
//其实就是跟src同一级目录,所以你自己要在src同一级目录下新建一个src-gen文件夹待会要生成的文件
new DaoGenerator().generateAll(schema, "src-gen");
} //增加Stu表
private static void addStu(Schema schema){
Entity msg = schema.addEntity("stu");//stu就相当于表名了
msg.addIdProperty().autoincrement();//创建表的id为主键并且是自增的,
msg.addIntProperty("age").notNull();//age整型不能为空
msg.addStringProperty("name").notNull();//name String型不能为空
}
}

我这里只是简单的创建一个表,用java运行这个类,刷新一下,就会在你之前创建的包src-gen下com.cn.speedchat.greendao里面有一些生成4个类,代码有报错,不用管它

DaoMaster.java是进行连接到SQLLite中创建表,如果有多张表,全部都在这里面创建

DaoSession.java

stu.java是实体对象,里面的属性就是数据库里面的字段

stuDao.java

参考网站:http://www.android100.org/html/201504/25/139839.html

Android eclipse下数据开源框架GreenDao的配置的更多相关文章

  1. 数据库开源框架GreenDao的使用解析

    数据库开源框架GreenDao的使用解析 1,GreenDao概述 1),greenDao是一个当下十分火热的数据库开源框架,或者说是一个帮助Android开发者将数据存到SQLite中的一个开源项目 ...

  2. [转]六款值得推荐的android(安卓)开源框架简介

    本文转自:http://www.jb51.net/article/51052.htm .volley 项目地址 https://github.com/smanikandan14/Volley-demo ...

  3. 六款值得推荐的android(安卓)开源框架简介(转)

    1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(scheduli ...

  4. 几款值得推荐的android(安卓)开源框架简介

    技术不再多,知道一些常用的.不错的就够了. 该文章自有需要的时候,mark一下. 顺序不代表排名,根据自己需求进行选择即可. 1.volley 项目地址 https://github.com/sman ...

  5. 六款值得推荐的android(安卓)开源框架简介

    1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(scheduli ...

  6. 六款值得推荐的android(安卓)开源框架

    1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(scheduli ...

  7. Android的SwipeToDismiss第三方开源框架模拟QQ对话列表侧滑删除,置顶,将头像图片圆形化处理。

      <Android SwipeToDismiss:左右滑动删除ListView条目Item> Android的SwipeToDismiss是github上一个第三方开源框架(github ...

  8. 六款值得推荐的android(安卓)开源框架简介【转】

    http://my.oschina.net/u/1244156/blog/380647 1.volley 项目地址 https://github.com/smanikandan14/Volley-de ...

  9. Delphi下IOCP开源框架:DIOCP 成功应用案例分享

    首先说明,该项目不是本人的项目,本文转自盒子. 该项目使用的DIOCP版本为1.0,目前diocp为3.5 以下是盒子的原文 ------------------------------------- ...

随机推荐

  1. 分享一个nodejs写的小论坛

    引言:作为一个前端小菜鸟,最近迷上了node,于是乎空闲时间,为了练练手写了一个node的小社区,关于微信小程序的,欢迎大家批评指导. 项目架构部分 一.前端架构 作为一个写样式也得无聊的前端狮,我偷 ...

  2. ScheduleThreadPoolExecutor源码分析(二)

    DelayedWorkQueue: DelayedWorkQueue实现了BlockingQueue接口,因此其可以作为线程池的任务队列.BlockingQueue的主要属性有以下几个: privat ...

  3. C++ Reference 的“三位一体”诠释

    C++ 是介于汇编语言与高级语言之间的一种“全能”语言.它的能力是其他任何基于VMA(冯-诺曼架构)计算机的高级程序设计语言无法望其项背的,而性能也只有C语言可与之伯仲. 然而长期以来,喜欢C++和憎 ...

  4. SGU 163.Wise King

    一道题目长的水题.... 总结就一句话,给出n个(-3~3)的数,一个数m,取任意个数是使这些数的m次幂之和最大. code #include <iostream> #include &l ...

  5. underscorejs-partition学习

    2.25 partition 2.25.1 语法: _.partition(list, predicate, [context]) 2.25.2 说明: 拆分list为两个数组. 第一个数组的元素都满 ...

  6. extjs中gridpanel动态显示/隐藏列

    在extjs3中,大家知道用 myGrid.getColumnModel().setHidden(i,true);但到了4.0后,已经没有getColumnModel这个方法了,我们在Ext.pane ...

  7. masonry结合json 制作无限滚动的瀑布流

    做前端这行的 能直接贴代码就直接贴代码了,不用多说什么别的 效果需要引入jquery和jquery.masonry.min.js这两个JS JS代码如下: $(document).ready(func ...

  8. 枚举宏(Adopting Modern Objective-C)

    使用NS_ENUM 和 NS_OPTIONS宏定义枚举.Adopting Modern Objective-C 使用NS_ENUM宏定义一组互斥的枚举值: typedef NS_ENUM(NSInte ...

  9. iOS - 正则表达式判断邮箱、身份证..是否正确:

    iOS - 正则表达式判断邮箱.身份证..是否正确: //邮箱 + (BOOL) validateEmail:(NSString *)email {     NSString *emailRegex ...

  10. 求助:对话框下OnInitDialog中使用SetTimer无效

    原文地址:http://www.w3c.com.cn/%E6%B1%82%E5%8A%A9%EF%BC%9A%E5%AF%B9%E8%AF%9D%E6%A1%86%E4%B8%8Boninitdial ...