Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用于Android的ORM

用于Android的ORM
EN

Stack Overflow用户
提问于 2014-02-27 05:39:19
回答 2查看 257关注 0票数 0

我发现ORM是一个用于SQlite和安卓的轻量级ORM框架。

我的问题是:

ORM的加入不是使应用程序变得很重吗?

我在Java透视图中思考,我知道使用框架会使应用程序更加繁重。

有人能帮我解决我的疑虑吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-02 15:04:31

@Stephen的回答很棒,但我想我应该加上我自己的答案。完全披露:我是ORMLite的作者。

ORM的加入不是使应用程序变得很重吗?

我认为答案在很大程度上取决于你的申请。这无疑使应用程序更加繁重。问题是,成本/效益对你的情况是否有意义。如果应用程序对许多实体执行大量的关系IO,那么好处将很大。如果应用程序很大,那么额外的字节/类可能不会显着地添加到其中。但是,如果大小的增加太大或关系代码太小,那么好处可能太小,而且不会超过大小代码。

此外,如果应用程序正在执行大量的数据库IO,并且由于ORM库可能出现的GC带宽增加,它可能会遇到性能问题。然后,您可能不得不忍受自己动手执行SQL工作。

票数 2
EN

Stack Overflow用户

发布于 2014-02-27 06:42:53

ORM的加入不是使应用程序变得很重吗?

这是不能客观回答的。

第一,“轻”和“重”是甚麽意思?

让我们假设我们正在讨论应用程序的某种度量:

  • 我们可以讨论应用程序源代码的大小,即程序员编写的内容。
  • 我们可以讨论应用程序二进制的大小..。包括应用程序使用的库
  • 我们可以讨论应用程序使用的内存量,CPU时间,或者它生成的数据库流量或磁盘流量的度量。

但这只是告诉我们轻和重是什么意思。那么“轻”和“重”呢?这些措施是否有客观价值,可以说是“轻”或“重”?

不..。根本就没有。

但回到更轻/更重的地方。我们是否可以说,使用ORM会使应用程序变得更重?

在大多数衡量标准中,是的(可能),但在一个重要的衡量标准中,答案显然是否定的。也就是说,当我们使用ORM时,与使用JDBC、SQL & RDBMs实现相同功能相比,程序员编写的代码(各种形式的代码)要少得多。

您没有问的另一个问题是,应用程序是否更轻或更重是重要的。我想说,这真的取决于应用程序,平台和开发项目的资源和时间表。

例如,如果我有一组具有挑战性的需求和紧迫的截止日期,那么无论ORM是否使用更多的内存、CPU、数据库带宽等等,我都可以使用ORM .因为它在开发方面更轻,这意味着我的项目可以按时完成。

总结如下:

  • ORM会使申请变得很重吗?这不是一个有意义的问题。
  • ORM会让它更重吗?这取决于你在测量什么。
  • 有关系吗?如果ORM的沉重是对准时和预算不足的权衡的话,那就不是了。
  • ORMLite真的很轻吗?又一次没有客观上的答案,而且可能不相关.除非您在严格的平台约束下工作。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22070274

复制
相关文章
Android 常用的ORM框架详解
1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM。支持JDBC连接,Spring以及Android平台。语法中广泛使用了注解(Annotation)。 官方网站:http://ormlite.com/sqlite_java_android_orm.shtml 这个也是之前我在项目中 经常用到的,下面提供一个例子 新建一个User类 @SuppressWarnings("serial") @Entity(table="users") public
xiangzhihong
2018/02/02
9900
android orm持久层框架
android数据库开发   Android中内置了sqlite,但是常用的开发语言java是面向对象的,而数据库是关系型的,二者之间的转化每次都很麻烦(主要是我对sql语言不熟悉)。而Java Web开发中有很多orm框架,但是想直接放到Android上用有些麻烦。尝试了一下找Android的orm框架,说实话还有好几个。   实现考虑的是:androrm   官网:http://androrm.the-pixelpla.net/ 说实话,这个我实在没有弄懂,一共两个包。   一个是依赖包:Ap
xiangzhihong
2018/01/30
8410
Android ORM 框架之 greenDAO
前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。所以,适用于 Android 的ORM 框架也就孕育而生了,现在市面上主流的框架有 OrmLite、SugarORM、Active Android、Realm 与 GreenDAO。而今天的主角便是 greenDAO,下面,我将详解地介绍如何在 Android Studio 上使用 greenDAO,并结合代码总结一些使用过程中的心得。 关于 gre
xiangzhihong
2018/02/01
1.2K0
Android ORM 框架之 greenDAO
适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2021/11/15
1.8K1
适用于Node.js和TypeScript的完整ORM —— Prisma
学习|Android JetPack组件---ORM框架Room的使用
Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。
Vaccae
2020/05/14
1.1K0
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
Prisma是 Node.js 和 TypeScript 的下一代 ORM。经过两年多的开发,我们很高兴分享所有 Prisma 工具已准备好投入生产!
狂奔滴小马
2022/03/29
1.9K0
【译】适用于Node.js和TypeScript的完整ORM —— Prisma
ORM是什么,ORM的优缺点
ORM的全称是:Object Relational Mapping (对象 关系 映射)
宇宙之一粟
2020/10/26
2.5K0
什么是ORM?为什么用ORM?浅析ORM的使用及利弊
什么是ORM ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。 为什么用ORM 在程序开发中,数据库保存的表,字段与程序中的实体类之间是没有关联的,在实现持久化时就比较不方便。那么,到底如何实现持久化呢?一种简单的方案是采用硬编码方式,为每一种可能的数据库访问操作提供单独的方法。这种方案存在以下不足: 1.持久
Rector
2018/02/01
1.9K0
orm
对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
GH
2019/12/12
6210
Django的ORM
调用如下方法会返回查询集 filter all order_by exclude 返回条件之外的数据
KEVINGUO_CN
2020/03/17
4760
ORM
class BookInfo(models.Model): # 每一个字段对应 表中的一列 title = models.CharField(max_length=30) # auto_now_add=True 意味着默认时间为 该行插入时间 pub_date = models.DateTimeField(auto_now_add=True)
爱喝水的木子
2022/01/12
4820
ORM模型的使用,创建ORM模型,ORM模型映射到数据库,ORM模型增删改查
ORM模型通常放在app的models.py文件中,所以创建该文件,然后需要在settings.py中INSTALLED_APPS添加该app的名称。举个栗子。
SingYi
2022/07/14
7100
ORM模型的使用,创建ORM模型,ORM模型映射到数据库,ORM模型增删改查
Android的LitePal数据库ORM使用总结(避坑指南)
LitePal是Android《第一行代码》作者郭神的开源ORM框架,一个很好用的ORM。
杨永贞
2022/01/07
6960
Go ORM 干啥的?
什么是ORM ,即Object-Relationl Mapping,它的作⽤是在关系型数据库和对象之间作⼀个映射,
阿兵云原生
2023/02/16
2.9K0
一个可用于生产项目 基于 .NET 6 自研ORM
Fast Framework 基于NET6.0 封装的轻量级 ORM 框架 支持多种数据库 SqlServer Oracle MySql PostgreSql Sqlite
郑子铭
2023/08/29
2640
一个可用于生产项目 基于 .NET 6 自研ORM
Facebook推出用于android数据加密的开源API
小编吐槽 恶意应用和android手机的续航能力一样是令android用户格外头疼的一个问题(至少我就这么觉得 – -!),Facebook把它使用的用于数据加密的API开源了,的确是一件不错的事情。 正文 现如今很多的智能手机,都支持把应用安装到SD卡中,这会帮用户节省很多空间,但是许多黑客也会利用这一点窃取用户的隐私。一般情况下,应用都有SD卡的读写权限,当然他也可以读取到其他应用,存储在SD卡上的数据。这意味着如果你安装了恶意的应用,他就可以轻易的获取SD卡上的所有数据。 当然,为了
FB客服
2018/02/02
1.2K0
Docker - Android 用于移动网站测试和 Android 项目
https://www.youtube.com/watch?v=pQdpjuYwvp8 https://github.com/budtmo/docker-android 启动服务 docker-com
崔哥
2022/05/25
4450
Docker - Android 用于移动网站测试和 Android 项目
Django的ORM简介
$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential # Debian / Ubuntu
Yuou
2022/09/26
6250
laravel orm
laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。
全栈程序员站长
2021/11/01
6230
点击加载更多

相似问题

Android:用于JAR中模型的ORM

13

用于SQL脚本的ORM

20

用于CodeIgniter 2.0的ORM

10

用于RethinkDB的ORM测试

11

ORM for Android in Mono

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文