概念

对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的。用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQL语句打交道,只需简单的操作实体对象的属性和方法。O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化
ORM的缺点是会牺牲程序的执行效率和会固定思维模式。 
        从系统结构上来看,采用ORM的系统一般都是多层系统,系统的层次多了,效率就会降低。ORM是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。

在我们开发系统时,一般都有性能问题。性能问题主要产生在算法不正确和与数据库不正确的使用上。ORM所生成的代码一般不太可能写出很高效的算法,在数据库应用上更有可能会被误用,主要体现在对持久对象的提取和和数据的加工处理上,如果用上了ORM,程序员很有可能将全部的数据提取到内存对象中,然后再进行过滤和加工处理,这样就容易产生性能问题。 
        在对对象做持久化时,ORM一般会持久化所有的属性,有时,这是不希望的。 
        但ORM是一种工具,工具确实能解决一些重复,简单的劳动。这是不可否认的。但我们不能指望工具能一劳永逸的解决所有问题,有些问题还是需要特殊处理的,但需要特殊处理的部分对绝大多数的系统,应该是很少的。

转载于:https://www.cnblogs.com/gswang/p/7511948.html

ORM的概念, ORM到底是什么相关推荐

  1. EF 框架的简介、发展历史;ORM框架概念

    一.EF 框架简介 EF 全称是 EntityFramework .   Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. OR ...

  2. 【转载】ORM的概念

    一.ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.ORM是随着面向对象的软件开发方法发展而 ...

  3. djando2.2-django ORM的概念、通过ORM操作数据库

    文章目录 一.django ORM 1. ORM的概念 2. 模型类的书写 3. 进行迁移 4. Field类的常用选项 二.通过ORM操作数据库 1. 创建数据表 2. 字段的增删改 3. 记录的增 ...

  4. php orm url,PHP ORM使用之

    NORM 是一款PHP ORM 框架 何为ORM 可以去搜下.. 下面是使用NOrm创建两个表 ?php include_once libs/norm.php ; /*首先定义数据对象模型 一个类相当 ...

  5. python orm框架sqlalchemy_python orm 框架中sqlalchemy用法实例详解

    本文实例讲述了python orm 框架中sqlalchemy用法.分享给大家供大家参考,具体如下: 一.ORM简介 1. ORM(Object-Relational Mapping,对象关系映射): ...

  6. ORM 革命 —— 复兴 | ORM Revolution -- Revived

    ORM Revolution - Revived ORM 革命 -- 复兴 Under the flourious business logics, there exists the terrifyi ...

  7. beego orm Error 1045 [ORM]2020/06/12 22:17:09 register db Ping `default`, Error 1045: Access denied

    [ORM]2020/06/12 22:17:09 register db Ping default, Error 1045: Access denied for user 'root'@'localh ...

  8. python orm框架sqlalchemy_python ORM框架:SqlAlchemy

    ORM,对象关系映射,即Object Relational Mapping的简称,通过ORM框架将编程语言中的对象模型与数据库的关系模型建立映射关系,这样做的目的:简化sql语言操作数据库的繁琐过程( ...

  9. ORM是什么? ORM框架是什么?

    对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单来说,将程序中的兑现自动持久化到关系数据库中.那么, ...

最新文章

  1. c语言中external,static关键字用法
  2. 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️
  3. Screen返回选择界面的问题
  4. c语言自定义输出小数点位数_C语言中输出时怎样控制小数点后的位数,请举例说明......
  5. 怎样从red hat linux图形登录改成从文本登录
  6. Java文件类String [] list(FilenameFilter fnf)方法,带示例
  7. svpwm仿真_【好物推荐】《现代永磁同步电机控制原理及MATLAB仿真》
  8. PHP 文件打开/读取
  9. push指令的执行过程
  10. Web前端开发规范手册 1
  11. ftp服务器查看所有文件夹,查看ftp服务器所有文件夹
  12. idea项目中使用URule 规则引擎的简单例子
  13. web项目上云_联想Filez携手浙江中烟,发力“云”端,打造“烟草上云”新势能...
  14. html背景图片的隐藏,CSS隐藏图片背景上方的文字内容
  15. Codeforces Round #644 1360H. Binary Median(思维、构造)
  16. linux系统显卡显存容量,Linux 查看显卡显存大小
  17. 1602字符液晶显示
  18. PTA 1032 挖掘机技术哪家强 (c语言)
  19. 映美Jolimark CFP-535G 打印机驱动
  20. WPS编辑分段函数公式技巧,怎么对齐分段条件

热门文章

  1. 引入antd组件样式_扩大团队技术影响力,搭建团队自己的 UI 组件库
  2. Android性能优化 - 消除卡顿
  3. C/C++在Android开发中的应用
  4. Java基础:基本数据类型包装类
  5. python全局解释锁_Python GIL 全局解释性锁介绍
  6. linux配置python_Linux--linux下配置安装python3
  7. mysql驱动不支持批处理_ADO.NET 中可以发送包含多个SQL语句的批处理脚本到SQL Server,但是用MySQL的ODBC驱动不行...
  8. 服务器推送信息到客户端,服务器如何发送消息到客户端
  9. Java高并发编程(四):并发编程基础
  10. python入门教程收藏_python入门教程:超详细保你1小时学会Python,快来收藏看看...