GreenDao 3.0 的使用

1.简介

简单的讲,GreenDao是一个将对象映射到 SQLite数据库中的轻量且快速的 ORM 解决方案。(GreenDaois a light & fast ORM solution that maps objects to SQLite databases.)

2.使用

2-1.导入相关的包compile 'org.greenrobot:greendao:3.2.0'

2.2.配置(Module)greendao {

schemaVersion 1 //数据库版本

daoPackage 'com.lee.codeplus.db'  //默认生成的包名

targetGenDir 'src/main/java'  //根目录

}

2.3.在build.gradle(Project)中进行配置buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:2.3.3'

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'

}

}

3.使用

3.1  实体类的创建@Entity

public class ArticleFile {

@Id

private Long id;

private String Category;

private String author;

private String createdAt;

private String objectId;

private String postType;

private String textContent;

private String updatedAt;

private String webUrl;

}

注:

(一) @Entity 定义实体

@nameInDb 在数据库中的名字,如不写则为实体中类名

@indexes 索引

@createInDb 是否创建表,默认为true,false时不创建

@schema 指定架构名称为实体

@active 无论是更新生成都刷新

(二) @Id

(三) @NotNull 不为null

(四) @Unique 唯一约束

(五) @ToMany 一对多

(六) @OrderBy 排序

(七) @ToOne 一对一

(八) @Transient 不存储在数据库中

(九) @generated 由greendao产生的构造函数或方法

3.2 Make Project自动生成Dao类等

图上3个选中的类就是生成的。

3.3 在Application中初始化

private DaoMaster mDaoMaster;

private DaoSession mDaoSession;

private DaoMaster.DevOpenHelper mHelper;

private SQLiteDatabase db;

public static BaseApplication instances;

@Override

public voidonCreate() {

super.onCreate();

instances=this;

initDataBase();

}public static BaseApplication  getInstances() {

return  instances;

}private void initDataBase() {

// 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。

mHelper=newDaoMaster.DevOpenHelper(this,"Code-db", null);

db=mHelper.getWritableDatabase();

// 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。

mDaoMaster=newDaoMaster(db);

mDaoSession=mDaoMaster.newSession();

}

public DaoSession getDaoSession() {

return mDaoSession;

}

public SQLiteDatabase getDb() {

return db;

}

3.4 增加数据ArticleFileDao dao =BaseApplication.getInstances().getDaoSession().getArticleFileDao();

dao.insert(article);

3.5.删除数据ArticleFileDao dao = BaseApplication.getInstances().getDaoSession().getArticleFileDao();

ArticleFileDaodao.queryBuilder().where(ArticleFileDao.Properties.ObjectId.eq(article.getObjectId())).build().unique();

dao.deleteByKey(article.getId())

3.6.修改数据ArticleFile article = dao.queryBuilder().where(ArticleFileDao.Properties.ObjectId.eq(article.getObjectId())).build().unique();

if(atricle !=null){

article.setAuthor("修改");

dao.updata(article)

}

3.7.查询数据

List articles= dao.loadAll();

greendao连接mysql_Android数据存储框架GreenDao 3.0使用详解相关推荐

  1. windows2003路由和远程访问 试图连接到数据存储时出错

    windows2003路由和远程访问 , 启动时报错:  试图连接到数据存储时出错 解决方法: 启动: Workstation  服务即可 转载于:https://blog.51cto.com/nai ...

  2. android轻量级数据存储框架Hawk

    今天自己写demo学习的时候,发现了一个超级好用的数据存储框架Hawk,意外发现这个框架还可以存储List数据.下面总结用法如下: 1.在build.gradle下添加依赖 compile 'com. ...

  3. 【存储】SCSI、iSCSI协议详解及对比

    作        者:  @NGDCN 原文链接:[存储]SCSI.iSCSI协议详解及对比 - NGDCN 版        权: 本文由 @NGDCN 于2022-11-11原创发布在 NGDCN ...

  4. PHP连接redis并执行redis相关命令的方法详解

    PHP连接redis并执行redis相关命令的方法详解 连接redis库的方法 共性的运算归类 redis服务类函数 set 操作增删改查 List栈的结构,注意表头表尾,创建更新分开操作 Set,没 ...

  5. MySQL存储引擎 lnnoDB逻辑架构 innodb存储引擎表空间(ibd文件)详解 回滚日志的物理空间

    文章目录 存储引擎 一 MySQL组织架构 二 查看存储引擎信息 三 修改存储引擎 3.1 配置文件修改存储引擎 3.2 临时修改存储引擎 3.3 建表时修改存储引擎 四 存储引擎实验 五 数据库升级 ...

  6. 《数据修复技术与典型实例实战详解》——1.4 分区表的修复

    本节书摘来自异步社区<数据修复技术与典型实例实战详解>一书中的第1章,第1.4节,作者:叶润华著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 分区表的修 ...

  7. Django框架学习(一)Django框架安装和项目创建详解

    Django框架学习(一)Django框架安装和项目创建详解 文章目录 Django框架学习(一)Django框架安装和项目创建详解 一.简介 1.1介绍 1.2 URL 1.3.框架原理 二.安装 ...

  8. 图解大数据 | 海量数据库查询-Hive与HBase详解

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  9. python语言的格式框架_django框架模板语言使用方法详解

    本文实例讲述了django框架模板语言使用方法.分享给大家供大家参考,具体如下: 模板功能 作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑.模板不仅仅是一个html文件,还包括了页 ...

最新文章

  1. python常用标准库有哪些-Python 200个标准库汇总
  2. 用数据方法进行简单商品推荐
  3. 01、DFT-全面了解如何测试一颗芯片
  4. 尾气冒黑烟是什么问题_汽车排气管冒大量白烟?车肯定有问题
  5. (八)构建一个Docker容器来训练Deep Fake Autoencoders
  6. Cordova - 彻底搞定安卓中的微信支付插件!
  7. scanf 详解 - 你所不知道的scanf用法
  8. three.js加载和使用纹理-specularMap使用高光贴图创建色彩鲜明的地球(vue中使用three.js77)
  9. Qt 3D:线框 QML 示例
  10. Android基本界面元素的使用与讲解
  11. Imagination领先IP助力国产处理器 从芯片走向解决方案
  12. 江苏农村商业银行计算机类笔试考什么时候,2020江苏农商行春季校园招聘笔试考什么?...
  13. 如何学习 C 语言?
  14. FCK js 操作方法
  15. 仓储物流中心| 地坪 | 工程设计要点
  16. 模拟FPV-肥鲨HDO2+无牙仔2+熊猫VT5804ML1+Foxeer野火 时延测试
  17. python 制作电子相册 视频_制作电子相册时如何添加文字?用什么软件?
  18. python全栈开发工程师培训
  19. JAVA读取Oracle中的blob图片字段并显示
  20. 至尊老鸭头超级选股法 通达信倒挂 老鸭头指标选股公式

热门文章

  1. mnist 数据集 下载 训练 测试 pytorch
  2. 第二讲 单片机C语言之12864液晶显示
  3. Axon Framework官方文档(五)
  4. MSP432学习笔记:ADC14
  5. 微软Windows视窗操作系统版本及发布时间
  6. Python正则表达式排除指定字符串
  7. 英语软件那些好玩的功能你知道吗
  8. LocalDateTime类型得两个日期相差得天数如何计算
  9. 智能运维监控管理平台技术方案
  10. git push到远程仓库时出现unable to access 'https://github.com/**': The requested URL returned error: 403