Android eclipse下数据开源框架GreenDao的配置
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的配置的更多相关文章
- 数据库开源框架GreenDao的使用解析
数据库开源框架GreenDao的使用解析 1,GreenDao概述 1),greenDao是一个当下十分火热的数据库开源框架,或者说是一个帮助Android开发者将数据存到SQLite中的一个开源项目 ...
- [转]六款值得推荐的android(安卓)开源框架简介
本文转自:http://www.jb51.net/article/51052.htm .volley 项目地址 https://github.com/smanikandan14/Volley-demo ...
- 六款值得推荐的android(安卓)开源框架简介(转)
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduli ...
- 几款值得推荐的android(安卓)开源框架简介
技术不再多,知道一些常用的.不错的就够了. 该文章自有需要的时候,mark一下. 顺序不代表排名,根据自己需求进行选择即可. 1.volley 项目地址 https://github.com/sman ...
- 六款值得推荐的android(安卓)开源框架简介
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduli ...
- 六款值得推荐的android(安卓)开源框架
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduli ...
- Android的SwipeToDismiss第三方开源框架模拟QQ对话列表侧滑删除,置顶,将头像图片圆形化处理。
<Android SwipeToDismiss:左右滑动删除ListView条目Item> Android的SwipeToDismiss是github上一个第三方开源框架(github ...
- 六款值得推荐的android(安卓)开源框架简介【转】
http://my.oschina.net/u/1244156/blog/380647 1.volley 项目地址 https://github.com/smanikandan14/Volley-de ...
- Delphi下IOCP开源框架:DIOCP 成功应用案例分享
首先说明,该项目不是本人的项目,本文转自盒子. 该项目使用的DIOCP版本为1.0,目前diocp为3.5 以下是盒子的原文 ------------------------------------- ...
随机推荐
- JavaScript Array(数组) 对象
更多实例 合并两个数组 - concat() 合并三个数组 - concat() 用数组的元素组成字符串 - join() 删除数组的最后一个元素 - pop() 数组的末尾添加新的元素 - push ...
- 分享一个nodejs写的小论坛
引言:作为一个前端小菜鸟,最近迷上了node,于是乎空闲时间,为了练练手写了一个node的小社区,关于微信小程序的,欢迎大家批评指导. 项目架构部分 一.前端架构 作为一个写样式也得无聊的前端狮,我偷 ...
- Linux 关于解压
1.*.tar 用 tar –xvf 解压 2.*.gz 用 gzip -d或者gunzip 解压 3.*.tar.gz和*.tgz 用 tar –xzf 解压 4.*.bz2 用 bzip2 -d或 ...
- python - StringIO文本缓冲
参考:http://pymotwcn.readthedocs.org/en/latest/documents/StringIO.html 类StringIO提供了一个在内存中方便处理文本的类文件(读, ...
- 关于浮动float属性和position:absolute属性的区别
最近返回头看了很多书籍,一直在纠结float属性和absolute绝对定位的区别和使用的情况,给大家分享一下自己的心得和体会吧. 1,float属性 float属性意义是让元素拜托独占一行的霸道总裁, ...
- css编译工具Sass中混合宏,继承,占位符分别在什么时候使用
//SCSS中混合宏使用 @mixin mt($var){ margin-top: $var; } .block { @include mt(5px); span { display:block; @ ...
- DEDECMS 关键字不能小于2个字节!
今天在做DEDECMS模板时,突然遇到了“关键字不能小于2个字节!”晕,是怎么回事呢?百度了一下,找到了答案,把他记录下来,方便自己日后再遇到这种问题时,可以查询: <form name=&qu ...
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
public List<CustomerType> GetCustomerTypesBySchemaTypeCode(int schemaTypeCode) { var query = ( ...
- 无线通信技术协议-6LoWPAN
6LoWPAN:基于IPv6的低速无线个域网标准,即IPv6 over IEEE 802.15.4. 注:6LoWPAN的协议栈实现在Contiki(完整的一套6LoWPAN协议栈).Zephyr(6 ...
- 应用hexo(rss插件)
使用RSS插件,来生成rss信息. 装载RSS插件 hexo根目录下进入git命令台 npm install hexo-generator-sitemap 启用RSS插件 hexo根目录下的 _con ...