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的更多相关文章

  1. Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite

    Android数据库框架--GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文 Android数据库框架--ORMLite轻量级的对象关系映射 ...

  2. ORM数据库框架 greenDAO SQLite MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. ORM框架--GreenDao 3.0基本使用指南

    0. ORM框架--GreenDao 3.0基本使用指南 1. Gradle 的配置 这里可以参照官方的文档进行最新的配置(本示例的版本等你看到可能就不是最新的了),但是值得注意的一点是,GreenD ...

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

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

  5. Android SQLite ORM框架greenDAO在Android Studio中的配置与使用

    博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 博客园: 追风917 # 说明 greenDAO是安卓中处理SQLite数据库的一个开源的库,详情见其官网:我是官网 详 ...

  6. 数据库ORM框架GreenDao

    常用的数据库: 1). Sql Server2). Access3). Oracle4). Sysbase5). MySql6). Informix7). FoxPro8). PostgreSQL9) ...

  7. Android 数据库ORM框架GreenDao学习心得及使用总结<一>

    转: http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁的读 ...

  8. 【转载】Android开源:数据库ORM框架GreenDao学习心得及使用总结

    转载链接:http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁 ...

  9. 对象关系映射(ORM)框架GreenDao简介和基本使用

    官网上的介绍,greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案. GreenDao特点 性能最大化,可能是Android平台上最快的ORM框架 易于使用的A ...

随机推荐

  1. 【noip2011】Mayan游戏

    题解: 刷了一天的noip啊 做了10题! 突然找回了做马拉松的感觉- - 我中午竟然放弃治疗去看视频 做到晚上累得都快挂了 用电脑放一些rock 把音乐当咖啡硬撑下来 但是还是没能刷3届 唉 显然速 ...

  2. BNUOJ-26476 Doorman 贪心

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26476 题意:给一个字符序列,比如MWMMW,每次可以取前面两个中的一个,取出来后,取出来 ...

  3. Windows下Android SDK Manage下载速度缓慢的解决方法

    在SDK Manager下Tools->Options打开了SDK Manager的Settings,选中“Force https://… sources to be fetched using ...

  4. Java 的集合框架

    Java集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一 ...

  5. 一个简单的创建圆角图像的UIImage扩展实现

    - (UIImage *)roundedCornerImageWithCornerRadius:(CGFloat)cornerRadius { CGFloat w = self.size.width; ...

  6. Unity3d 使用NPOI读写Excel 遇到的问题

    开发环境:unity5.3  NPOI(.net 2.0版  http://npoi.codeplex.com/) 运行环境:PC版, 其他平台没有测试 先上效果图: 实现步骤: 1.新建一个Exce ...

  7. iOS 改变tableview cell的背景色

    cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame]; cell.selectedBackgroundView ...

  8. android学习日记06--View视图

    一.android 界面开发 1.三个重要的类:View视图.Canvas画布.Paint画笔2.android 界面开发常用三种视图 View            --只能在主线程中更新,没有缓存 ...

  9. Xdebug+phpstorm配置

    首先,把自己参考的网上材料的连接黏贴出来,是英文的,但是讲解的很详细,有兴趣的同学可以看一下. 1.http://blog.jetbrains.com/webide/2011/02/zero-conf ...

  10. Models and the ServiceManager

    Models and the ServiceManager In the previous chapter we've learned how to create a "Hello Worl ...