一:OrmLite

简述: 优点: 1.轻量级;2.使用简单,易上手;3.封装完善

缺点:1.基于反射,效率较低

二:GreenDao

优点:

  1. 库文件比较小,编译时间低,可以避免65K方法限制;
  2. 性能最大化;
  3. API 非常易用,提升了开发效率;
  4. 最小的内存开销;
  5. 可支持原生语句,从Android原生 SQLite 过度到 GreenDao 相对还是比较容易;
  6. 数据表结构和Entity数据结构convert支持,Entity的不同数据结构和数据库存储结构之间做一个灵活的转换;

缺点:

  1. 不支持组合主键,这个很少用到。
  2. 数据库表有关系时,在第一次请求上会有延迟并且之后的更新都不会自动同步,需要主动更新或者清楚缓存之后再请求,写的时候需要主动同时更新。当然这个也不算缺点,现在很多时候在数据库建表的时候很很少使用关联,要么建索引,要么查询的时候自己做关联。
  3. 不支持minmax等函数,需要自己写sql执行execSQL。但这些都可以通过其他方式进行实现。
  4. 不支持合并写,写入的时候判断已有这条数据那么进行更新,没有则实现插入。

参考:https://blog.csdn.net/stven_king/article/details/102942905

三:Room

Room基于SQLite,提供一个抽象层,可以快速访问SQLite的所有功能。


room分为三部分:

1.Entity:数据库实体,系统根据Entity类创建数据库,里面规定了PrimaryKey,列名、表名等数据库必备设定。

2.Dao:Database access object:定义了一些操作数据库的操作,比如说增删改查。

3.Database:可以认为是完整的数据库,完整的数据库包括数据库信息和数据库操作,也就是EntityDao。

优点:
1)通过注解生成代码,减少代码量;

2)编译期SQL检查机制,降低风险;

3)对源生数据库做了一些优化性能的改写。

缺点:

1)没有缓存机制。

源码解析:https://blog.csdn.net/asd501823206/article/details/104883056/

Android数据库比较相关推荐

  1. 转载-Android数据库高手秘籍(一)——SQLite命令

     原文地址: http://blog.csdn.net/guolin_blog/article/details/38461239 Android数据库高手秘籍(一)--SQLite命令 分类: And ...

  2. Android源码开发笔记 -- Android数据库,屏幕休眠时间

    1. Android数据库问题(以下描述引用及参考http://blog.csdn.net/yin1031468524/article/details/71512996) 在Android7.0之后, ...

  3. Android数据库专家秘籍(七)经验LitePal查询艺术

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40153833 经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握 ...

  4. Android数据库高手秘籍(三)——使用LitePal升级表

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/39151617 在上一篇文章中,我们学习了LitePal的基本使用方法,体验了使用框 ...

  5. Android 数据库基本操作-2

    这个例子实现了一个完整的数据库操作示例.首先运行项目,初始化数据库(创建数据库.创建表):然后点击左方向键向表中插入一条数据,按右方向键删除一条数据,按数字键1修改表中指定的一条数据,数字键2可以删除 ...

  6. Android 数据库框架ormlite 使用精要

    Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...

  7. Android数据库LitePal的存储操作

    本文属于转载,在此声明,出处:http://blog.csdn.net/guolin_blog/article/details/38556989 并且感谢guolin分享了这么精彩的博文.以下正文: ...

  8. Android数据库高手秘籍(二):创建表和LitePal的基本用法

    原文:http://blog.jobbole.com/77157/ 上一篇文章中我们学习了一些Android数据库相关的基础知识,和几个颇为有用的SQLite命令,都是直接在命令行操作的.但是我们都知 ...

  9. Android数据库高手秘籍(一)——SQLite命令

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/38461239 要想熟练地操作任何一个数据库,最最基本的要求就是要懂SQL语言,这也 ...

  10. android litepal可以指定存储目录吗,Android数据库LitePal的基本用法详解

    前言 正好项目用了这种数据存储方式,特地写一篇加深印象,在我看来,LitePal是使用最简单,集成最方便的数据库,没有之一. LitePal 简介 LitePal 是一款开源的 Android 数据库 ...

最新文章

  1. Galaxy 生信平台(三):xlsx 上传与识别
  2. 智能医疗战场 人工智能如何赋能健康智能终端?
  3. Docker中宿主机与容器之间互传文件(docker cp的方式)
  4. Nginx -静态资源Web服务
  5. 分词消除歧义_角色标题消除歧义
  6. retorfit converter使用说明
  7. HttpClient 4 和 HttpClient 3 设置超时
  8. mybatis sql语句格式化 trim prefix suffix
  9. PIXI 宝物猎人(7)
  10. linux恢复rm删除文件ext4,EXT4中恢复使用rm命令误删除的文件
  11. 写在Groovy/Grails栏目开通的话
  12. 集线器,路由器,交换机的作用和差别是什么?怎样区分交换机,集线器,路由器?...
  13. The Google File System 中文版论文(下)(转载)
  14. Unet卷积神经网络架构
  15. 市场调研-全球与中国防破坏开关市场现状及未来发展趋势
  16. Landsat5数据下载中国地区1988年
  17. 《Event Structure Representation: Between Verbs and Argument Structure Constructions》翻译(一)
  18. 剪辑软件生成的mp4素材无法打开的修复方法
  19. Qt中的项目类型(二)
  20. 支付,造就金融科技生态契机——保险科技生态建设

热门文章

  1. 经典技术形态之--“五弯十”战法图解
  2. Openwrt动态域名解析
  3. 郭盛华:黑客破坏Okta的GitHub存储库,窃取源代码
  4. 丛林战争游戏数据库设计
  5. UI自动化:UI Automation
  6. 网络最强CASE工具 + 经典UML学习电子资下载汇总
  7. Servlet生命周期与Web容器架构及处理请求详解
  8. 合并报表编制采用的理论_合并报表编制理论知识(必读)
  9. docker-compose搭建prometheus+granafa+alertmanager+dingtalk
  10. 电脑一键重装系统内存完整性无法打开怎么办