SqLite 框架 GreenDAO
GreenDAO:
会生成一个数据访问,不用我们书写访问数据库的代码:
核心原理图

生成代码
就是用生成器生成一个对应的java类的生成工厂
public static void main(String[] args)
{
// id name age sex
// Schema s=new Schema(版本号, 代码包名);
Schema s = new Schema(1, "com.itheima.redbaby.dao");
// 描述 对象
Entity person = s.addEntity("Person");
person.addIdProperty().autoincrement().primaryKey();// id
person.addStringProperty("name");
person.addIntProperty("age");
person.addStringProperty("sex");
// 生成代码
// new DaoGenerator().generateAll(s, 输入路径);
try {// .. 工作空间
new DaoGenerator().generateAll(s, "../greendao_redbaby/src/");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
代码生成在指定的路劲如下
测试代码
@Test
public void testLoad() {
DaoSession sesion = getSession();
PersonDao person = sesion.getPersonDao();
Person p=person.load(1L);
Log.i("wzx", p.getName());
}
@Test
public void testLoadAll() {
DaoSession sesion = getSession();
PersonDao person = sesion.getPersonDao();
List<Person> list = person.loadAll();
for (Person p : list) {
Log.i("wzx", p.getName());
}
}
@Test
public void testInsert() {
DaoSession sesion = getSession();
// 获取具体一个Dao PerpsonDao
PersonDao dao = sesion.getPersonDao();
Person p = new Person();
p.setAge(1);
p.setName("张三的歌");
p.setSex("man");
dao.insert(p);
}
public DaoSession getSession() {
// 描述数据 SHOPPING.db
// SqliteOpenHelper
// |--DevOpenHelper
SQLiteDatabase db = new DaoMaster.DevOpenHelper(mContext, "SHOPPING.db", null).getWritableDatabase();
DaoMaster dm = new DaoMaster(db);
// 获取Dao的集合DaoSession PersonDao
DaoSession sesion = dm.newSession();
return sesion;
}
@Test
public void testDeleteByKey() {
DaoSession sesion = getSession();
PersonDao personDao = sesion.getPersonDao();
personDao.deleteByKey(1L);
}
@Test
public void testUpdate() {
DaoSession sesion = getSession();
PersonDao personDao = sesion.getPersonDao();
Person p=personDao.load(1L);
p.setAge(22);
p.setSex("woman");
personDao.update(p);
}
总结:
整体简单了我们对数据库的使用,使的我们不过过多的书写SQL代码;
只需要我们把数据库的每一Row。 专话成为 JavaBean的字段就可以了。
简单粗暴;
SqLite 框架 GreenDAO的更多相关文章
- Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite
Android数据库框架--GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文 Android数据库框架--ORMLite轻量级的对象关系映射 ...
- ORM数据库框架 greenDAO SQLite MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- ORM框架--GreenDao 3.0基本使用指南
0. ORM框架--GreenDao 3.0基本使用指南 1. Gradle 的配置 这里可以参照官方的文档进行最新的配置(本示例的版本等你看到可能就不是最新的了),但是值得注意的一点是,GreenD ...
- 数据库开源框架GreenDao的使用解析
数据库开源框架GreenDao的使用解析 1,GreenDao概述 1),greenDao是一个当下十分火热的数据库开源框架,或者说是一个帮助Android开发者将数据存到SQLite中的一个开源项目 ...
- Android SQLite ORM框架greenDAO在Android Studio中的配置与使用
博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 博客园: 追风917 # 说明 greenDAO是安卓中处理SQLite数据库的一个开源的库,详情见其官网:我是官网 详 ...
- 数据库ORM框架GreenDao
常用的数据库: 1). Sql Server2). Access3). Oracle4). Sysbase5). MySql6). Informix7). FoxPro8). PostgreSQL9) ...
- Android 数据库ORM框架GreenDao学习心得及使用总结<一>
转: http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁的读 ...
- 【转载】Android开源:数据库ORM框架GreenDao学习心得及使用总结
转载链接:http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁 ...
- 对象关系映射(ORM)框架GreenDao简介和基本使用
官网上的介绍,greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案. GreenDao特点 性能最大化,可能是Android平台上最快的ORM框架 易于使用的A ...
随机推荐
- AIM Tech Round 3 (Div. 2) (B C D E) (codeforces 709B 709C 709D 709E)
rating又掉下去了.好不容易蓝了.... A..没读懂题,wa了好几次,明天问队友补上... B. Checkpoints 题意:一条直线上n个点x1,x2...xn,现在在位置a,求要经过任意n ...
- 【转】 hive安装配置及遇到的问题解决
原文来自: http://blog.csdn.net/songchunhong/article/details/51423823 1.下载Hive安装包apache-hive-1.2.1-bin.ta ...
- android事件分发笔记
1.SimpleOnGestureListener 遇到的问题: 自己定义一个按钮继承自Button,一开始改变按钮颜色的操作放在onTouchEvent的ATION_DOWN里触发. 这时问题来了, ...
- Unity3D之AssetBundle学习:Android上运行笔记
路径统一 在Android上加载StreamingAssets文件夹下的AssetBundle文件,首先需要对加载地址进行处理,注意PC.Android和IOS的地址不一致需要针对不同的平台不同的处理 ...
- win32进阶之路:给锁屏软件增加一个超链接按钮
前言: windows下一切皆窗口,我们看到的超链接也是窗口,效果图如下: 鼠标放在赵大哥博客园主页和关于软件两个按钮上,按钮上的字体会从绿色变成红色,同时鼠标指针变为手型,点下鼠标左键就会调用默认浏 ...
- linux集群时间同步
说明:由于hadoop集群对时间要求很高,所以集群内主机要经常同步.本文档适合ubuntu.redhat系列. 注:很多内容是在网上摘录,然后试验后总结,如有疑问可留言探讨. 1.设置主机时间准确(任 ...
- POJ 1703 Find them, catch them (并查集)
题目:Find them,Catch them 刚开始以为是最基本的并查集,无限超时. 这个特殊之处,就是可能有多个集合. 比如输入D 1 2 D 3 4 D 5 6...这就至少有3个集合了.并且 ...
- HDU 5433 Xiao Ming climbing dp
Xiao Ming climbing Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/ ...
- Android 如何修改默认的searchable items。
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- BAE3.0还不支持本地写入文件
BAE3.0对比2.0做了很大的改动,对于安装应用方面也方便了很多,普通的应用表面上(下文就是讲为什么说表面上)不需要做什么适配.比如wp博客,直接修改wp-config.php,把数据库信息填一下就 ...