GreenDAO 使用小结

Android GreenDao 使用全面讲解 若使用insertOrReplace()方法添加数据,当前数据库中不会有重复的数据,但是重复的这条数据的id会被修改!该QueryBuilder的类可以让你建立你的实体,而不SQL自定义查询,并有助于在编译时已检测错误。@Property (nameInDb=“name”) //设置了,数据库中的表格属性名为"name",如果不设置,数据库中表格属性名为"NAME"从GreenDao 3 使用注解来定义模型和实体,前面也讲过,通过注解的使用可以快速构建数据库表,包括设置主键,自增,值是否唯一等等等…… 阅读详情

       之前项目中开始使用GreenDAO, 一直都是只是会用,没有对其进行归纳总结。这次接着升级GreenDAO 3.0的机会,将之前自己对其使用的一些看法小结一下。
       使用到的几个核心类有:DaoMaster, OpenHelper, DaoSession, XXXDao等。
        DaoMaster: 正如其名,这个类是数据库的统领,也是整个操作的入口。其管理着数据库, 数据库版本号和一些数据库相关的信息。DaoMaster可以用来生成下面将要说到DaoSession。在构造函数中需要对所有的Dao通过registerDaoClass()进行注册,以便DaoMaster对其进行管理。
        OpenHelper: 根据官方文档,GreenDAO中总共有四种OpenHelper,分别是 OpenHelper, DevOpenHelper,EncryptedOpenHelper 和EncryptedDevOpenHelper;前两个是用来操作未加密数据库,后两个是用来操作加密数据库;DevOpenHelper 和 EncryptedDevOpenHelper 会在升级的时候删除所有表并重建,所以只建议在开发时使用。
       OpenHelper的用来对数据库进行管理,如创建表,删除表,获取可读写数据库等。另外,OpenHelper还有对数据库创建,数据库升级 和 数据库开启等事件的监听,分别在onCreate(), onUpgrade(), onOpen()。
       DaoSession: 管理所有的XXXDao, DaoSession中也会有增删改查的方法, 其可以直接通过要插入实体的类型找到对应的XXXDao后再进行操作。当没有找到实体对应的Dao时,会抛出 org.greenrobot.greendao.DaoException: No DAO registered for class XXX 的错误。
       XXXDao: 对实体进行操作,有比DaoSession更丰富的操作,如loadAll, insertInTx.
       其实,之前还真不知道DaoSession中也一些基本的持久化方法,在写这篇博客的过程中看了下源码和官方文档才发现这个。

GreenDAO 用法:

helper = new DaoMaster.DevOpenHelper( this, "notes-db", null);
db = helper.getWritableDatabase();
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
noteDao = daoSession.getNoteDao();
greendao使用封装 greenDAO 阅读详情

相关推荐

Android之Fatal Exception: org.greenrobot.greendao.DaoException: Could not init DAOConfig

1 问题 release apk运行奔溃提示错误如下 Fatal Exception: org.greenrobot.greendao.DaoException: Could not init DAOConfig at org.greenrobot.greendao.h.a.<init>(DaoConfig.java:28) at org.greenrobot.greendao.b.a(AbstractDaoMaster.java:1) ...

码莎拉蒂 3291

GreenDao的使用及升级和遇到的问题

github:https://github.com/greenrobot/greenDAO 对于GreenDao数据库来说,其优点就有很多了!不必赘言!其只做简单的说明GreenDao属于ORM(object Relation Mapping对象关系映射)型数据库,其表现形式就是通过GreenDao将数据库和Bean对象关联起来。换句话说GreenDao中的增删查改都是操作的一个个的对象,而不是...

willba的博客 5794

CS5212芯片实战:手把手教你设计DP转VGA转换电路(附完整原理图)

本文详细介绍了CS5212芯片在DP转VGA转换电路设计中的实战应用,包括芯片架构解析、核心电路设计要点、PCB布局与电磁兼容设计、调试技巧及进阶应用开发。通过完整的原理图和实用设计指南,帮助工程师快速掌握高可靠转换器的设计方法,特别适合需要国产化替代方案的场景。

weixin_30576827的博客 393

Android 使用 GreenDAO 3.x 进行增删改查和升级

定义 greenDAO 官网:http://greenrobot.org/greendao/ greenDAO 的 Github 地址:https://github.com/greenrobot/greenDAO greenDAO 是一款开源的,针对 Android 操作 SQLite 的 ORM 框架。它将 Java 对象映射到 SQLite 数据库中,使我们在操作数据库的时候不用编写 SQL ...

司马懿的西山居 4214

关系代数表达式优化步骤

关系代数表达式优化步骤 本篇主要讲解怎么画查询语法树并对其优化,因为我在学关系代数的语法树的时候,在网上找不到比较详细的教法或者技巧,最后通过答案反推原理,所以想写一篇技巧来描述一下这类题的解题方法。 先上书内讲解 1、构造查询树 第一步:把用高级语言定义的查询转换为关系代数表达式 ★ 以 SELECT子向对应投影操作,以FROM字向对应笛卡尔积以 WHERE子句对应选择操作,生成原始查询树 ★ SQL语句转化为原始查询树 第二步:把关系代数表达式转换为查询树。 注: 查询树是一种表示关系代数表达式的树形结

m0_51718449的博客 7016

从波形图到参数调优:一次无感BLDC电机启动失败的深度解析

本文深入解析无感BLDC电机启动失败案例,通过波形分析揭示参数不匹配和IPM保护机制触发等关键问题。详细探讨了过零点检测、PWM周期设置及强拖参数调优的底层逻辑,并分享IPM模块保护机制与实战调优技巧,最终实现99.98%的启动成功率。

weixin_29182481的博客 820

android 数据库之GreenDao使用

GreenDao 官方网站地址:http://greenrobot.org/greendao/ github地址 :https://github.com/greenrobot/greenDAO GreenDao 优点: 1查询效率高 2 内存占用小 3集成方便 使用方法: 1 引用(一个都不能少) APP下的build.gradle 第一句一...

一个人的暗 751

Vue3结合vue-office实现Word文档上传与预览全流程解析

本文详细解析了如何在Vue3项目中集成vue-office插件实现Word文档上传与预览功能。从项目初始化、插件安装到文件上传处理(包括ArrayBuffer转换)、预览优化及常见问题解决方案,提供了一套完整的实现流程,帮助开发者快速实现高效的文档预览功能。

weixin_29001327的博客 464

GreenDao 解决5.0以下报错问题

在greendao使用的时候大家可能都会遇到过版本兼容问题,就是我们在使用GreenDao数据库的时候会发现,在android5.0以上的系统版本,没什么问题,我们可以正常运行,这也没问题,但是在android5.0一下版本就会报错。java.lang.NoClassDefFoundError: org.greenrobot.greendao.database.StandardDatabase at

简国堂的博客 5642

AXI4接口说明

ACLK:全局AXI接口时钟输入(建议与系统时钟保持一致)ARESET_n:全局AXI接口复位信号,低电平有效。PS:在HBM AXI接口应用中,此复位端口仅应在数据传输开始前使用。若在传输开始后使用,会导致AXI接口与内存控制器失步(out-of-sync)。当开关启用时,IP核会将所有ARESET_n引脚内部连接在一起——因为内存作为一个整体工作。

rhtul的博客 1522

从X86到ARM:将VINS-Fusion-GPU和ego-planner迁移到Jetson Orin-NX时,我踩过的那些‘环境差异’坑

本文详细介绍了将VINS-Fusion-GPU和ego-planner从X86平台迁移到Jetson Orin-NX(ARM架构)时遇到的环境差异问题及解决方案。内容涵盖ARM与X86的架构差异、依赖管理、性能调优和硬件接口适配,特别强调了CUDA在ARM平台上的优化配置和内存访问技巧,帮助开发者高效完成跨平台迁移。

weixin_42647395的博客 119

GreenDao小结

首先要明确我们需要GreenDao给我们提供什么东西? 我们需要GreenDao给我们提供 1、 Account(对象,内含数据表需要的字段) 2、 AccountDao(实际生成的某某DAO类,通常对应具体的java类,比如NoteDao等。其有更多的权限和方法来操作数据库元素) 3、 DaoMaster(一看名字就知道它是Dao中的最大的官了。它保存了sqlitedatebase对象

BrianLee的专栏 649

k3s cpu load 和 cpu 使用率很高处理

在这期间还执行过缩减 sqlite3 数据库操作,不知道是哪个操作起了作用,亦或者两个操作有影响,删除 ns 促进了数据库缩减的执行(没删除之前数据库缩减不成功,db文件大小未减小,但不确定是不是执行完 VACUUM 之后需要时间 db 文件才会减小,或者是因为删除了 ns 才导致其减小),再或者是两个操作都起了作用。kubectl get ns 发现有很多卡在删除状态的 ns。k3s 官网关于这个问题的谈论。执行如下脚本删除掉这些 ns。有人详细说过这个问题。

weixin_40548182的博客 683

GreenDao小结附Demo

Demo下载地址:https://github.com/dahaiChang/GreenDao_Demo

沉溺于移动互联网 257

从零开始之驱动发开、linux驱动(七、字符驱动之led最终版)

我们上一接用的gpiolib非常杂乱,使用了两种 1.各硬件厂商实现的,如s3c_gpio_cfgpin(S5PV210_GPJ0(5), S3C_GPIO_SFN(1)) 2.系统公共的,如gpio_set_value(S5PV210_GPJ0(4),val) 其实公共的也是对各硬件厂商的封装,用那个都可以,个人建议用系统公共的,应为这样换芯片厂商,不影响任何使用。   2.错误处理基...

To_run_away的博客 2387

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

微生物组数据分析:OTU/ASV过滤与相对丰度标准化流程详解

在微生物组研究中,OTU和ASV是特征表的两种核心表示形式,分别基于聚类和去噪算法生成。然而,原始特征表常包含大量测序噪声、叶绿体和线粒体污染以及样本间测序深度不均的问题,直接影响下游多样性分析的可靠性。通过污染序列过滤、低频特征筛选和丰度过滤,可以有效剔除假阳性信号,保留真实生物学信息。随后借助TSS、CSS、TMM、CLR等标准化方法将绝对计数转换为相对丰度,使样本间具有可比性。不同标准化策略适用于不同分析场景,如相对丰度适合群落组成描述,CLR适合相关性网络推断。本文系统梳理了从OTU/ASV过滤到相

weixin_34037515的博客 278

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

A5极简迷你电脑套件DIY指南:从硬件选型到组装调试

从标准台式机到口袋大小的单板计算机,迷你化是硬件工程持续探索的方向。A5极简迷你电脑套件把显示、输入、供电和计算单元压缩到一张打印纸的尺寸,核心基于如树莓派这类主流单板计算机,配合模块化载板与定制外壳,实现一套可完全DIY的完整微型主机。其技术价值在于极低的功耗与高度集成的结构,让嵌入式开发、便携Linux终端和物联网边缘网关等场景有了更灵活的载体。围绕主板选型、屏幕驱动、供电管理、散热调优和外壳装配等关键环节,可以梳理出一条从零开始组装与排查的完整路径,帮助理解并打造一台足够好用的极简迷你电脑。

weixin_34008784的博客 503

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

小结:greenDAO和LitePal的区别

这两个框架思想都差不多,都是把面向对象映射成关系型语言,主要区别有以下几个:1. greenDAO的version等数据库属性设置都是在对应的模型类里面完成的,以Java class的属性变量的形式存储;而LitePal是在另外的一个xml文件中定义。 图片发自简书App 2.greenDAO将会生成Java数据对象(实体)和DAO对象。这些DAO...

aaLiweipeng的博客 676

GreenDao数据库学习小结

本文参考了阿呆的GreenDao3.2的简单使用一文: https://www.cnblogs.com/wjtaigwh/p/6394288.html 这段时间准备一直在准备一些老项目的重构需要用到的技术点,其中一项技术要掉便是数据库的使用,查阅了相关资料,熟悉了GreenDao数据的使用要点,现在简单的说说:1、GreenDao的有点比如响应速度快、依赖包小等在此不多说,听说过这套数据库方案的伙伴

haoyuegongzi的博客 700

Android greenDAO3x数据库框架使用小结

greenDAO是个很好用的Android数据库框架 https://github.com/greenrobot/greenDAO 导入工程 在Project目录的build.gradle文件中添加 buildscript { repositories { mavenCentral() } dependencies {

bfbx5173的专栏 2075

Greendao的根据某个字段(非主键)插入去重以及根据某个字段删除对应的行条目

目前资料上greendao的删除基本都是根据主键删除的,如果我想通过里面一个字段比如name进行删除呢?下面是我对于全局搜索apk的一个greendao的小结。 1.删除某个字段的整条数据 简单封装下Greendao: GreendaoUtil.java public class GreendaoUtil { private volatile static GreendaoUtil ourInstance; private static String name = "search_his

kururunga的博客 1484

Android ORM 框架 GreenDao 使用详解

(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,

2401_87029387的博客 2368

GreenDao使用

GreenDao是一个关系型数据库,可方便的利用对象操作数据库,更可以利用其ORM的继承特性,整合代码编写。个人感觉就是给对于sql不熟练的我提供一个可以操作数据库的捷径。 GreenDao 官方地址:http://greenrobot.org/greendao/ GreenDao gitHub地址:https://github.com/greenrobot/greenDAO GreenDa

小磊's blog 5564

greendao的使用(简洁易懂)

今天在项目里使用到了greendao,记录一下greendao的使用过程。greendao是对sqlite数据库操作的封装,可以让我们更加方便的使用sqlite,其它类似的框架还有OrmLite、SugarORM、Active Android、Realm。但是greendao的性能要远远的高于其它四个框架,在官网有测试结果,因为它不是使用反射的机制,而是直接生成相关的代码。这就大幅度提升了它的性能。

秦时明月 1万+

GreenDao的使用详解

在Android实际开发中,当要存储一些数据时,大家首先会想到的是什么存储形式?有人说数据库有人说文件。当然两种方式都行。今天就给大家介绍介绍第三方框架GreenDao的使用。好费话不多说,正式开始介绍。       GreenDao是一个轻量级的数据库,当然也是SQlite数据库。它将我们需要操作的SQL语句以对象的形式进行了细致的封装,以方便开发者的开发。项目中引入GreenDao数据库只要

Jamy博客 8079
上一篇: GreenDAO 3.0 初次使用
觅己
博客等级 码龄11年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值