• ORM简介


    ORM概念

    什么是“持久化”

    即把数据(如内存中的对象)保存的磁盘的某一文件中。

    什么是持久层

    持久层(Persistence Layer),即实现数据持久化应用领域的一个逻辑层面,将数据使用者和数据实体相关联。

    什么是ORM

    ORM,即Object Relational Mapping,它是对象关系模型的简称。它的作用是在关系型数据库和对象之间作一个映射。使程序能够通过操纵描述对象方式来操纵数据库。

    ORM作用

    ORM解决的主要问题是对象关系的映射,一般情况下,一个持久化类和一个表对应,类的每个实例对应表中的一条记录,类的每个属性对应表的每个字段。

    ORM技术特点:
    1.提高了开发效率。由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。
    2.ORM提供了对数据库的映射,不用sql直接编码,能够像操作对象一样从数据库获取数据。

    ORM的优劣处

    优点

    提高开发效率

    通常的系统设计中,使用 JDBC 操作数据库,业务处理逻辑和数据存取逻辑是混杂在一起的。
    一般基本上都有如下步骤:
    	1、注册驱动,获取链接,即Connection对象。
    	2、根据输入组装sql语句
    	3、创建执行sql语句对象(静态SQL语句statement、动态SQL语句PrepareStatement、存储过程CallableStatement)
    	4、执行SLQ语句(查询用executeQuery、修改用executeUpdate、判断返回值是否为结果集用execute),获取结果集。
    	5、按特定的业务逻辑处理结果集,组装更新SQL语句。
    	6、执行更新SQL语句,以更新数据库中的数据
    	6、关闭链接。
    其中的业务处理逻辑和数据存取逻辑完全混杂在一块,还不包括执行失败的处理逻辑。而一个完整的系统包含成千上万个这样重复的而又混杂的处理过程。假如对其中某条业务逻辑进行修改,要改动的代码量不可想象。
    其次,用户的运行环境和要求千差万别,公司不可能为每一个用户设计一套一样的系统。 所以就要将业务逻辑和数据存逻辑分开。另一方面,关系型数据库基本以行为单位进行存取,而程序运行却是以对象方式进行处理。为解决这一困难,就出现 ORM 这一个对象和数据之间映射技术

      

    解耦合

    客户的需求可能随时变更,有些时候,我们不得不通过增删字段的方式来满足客户的需求。由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,不用sql直接编码,能够像操作对象一样从数据库获取数据。
    

    缺点

    减低程序性能

    1、从系统结构上来看,采用ORM的系统一般都是多层系统,系统的层次多了,效率就会降低。ORM是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。
    2、ORM所生成的代码一般不太可能写出很高效的算法。主要体现在对持久对象的提取和和数据的加工处理上。如果用上了ORM,很可能将全部的数据提取到内存对象中,然后再进行过滤和加工处理,这样就容易产生性能问题。
    3、在对对象做持久化时,ORM一般会持久化所有的属性,有时,这是不希望的。  

     引用

    https://blog.csdn.net/qq_45533968/article/details/115200055

  • 相关阅读:
    Mysql 分页查询sql优化
    观察者模式之spring事件机制
    封装一个按Key排序的Map工具
    SpringBoot java配置类@Configuration 的两种写法
    最基础前端路由实现,事件popstate使用
    mybatis分页插件PageHelper源码浅析
    看看线程特有对象ThreadLocal
    svn提交错误:Commit failed (details follow): Can't create directory
    mac下修复exfat格式外置硬盘
    [twisted] Multiple users
  • 原文地址:https://www.cnblogs.com/lkj371/p/16419568.html
Copyright © 2020-2023  润新知