什么是ORM框架?

news/2024/10/23 17:39:38/

ORM概念

什么是“持久化”
即把数据(如内存中的对象)保存的磁盘的某一文件中。
常用的ORM半自动框架如Mybatis,全自动ORM框架JPA。
JPA详解

什么是持久层

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

持久化过程

把数据永久载入数据库在载入磁盘中
比如下面的代码,Springboot中的jpa框架

  • 添加居民信息
    residentsDao.save(residents)相当于把新创建的residents居民对象添加到数据库中,这就是持久化过程,在这个过程中主键也会自动添加

@Service
对Service层的注解,Service也叫服务层,被称为服务,可以理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。
service层具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。
这里调用了居民表的dao接口,使用@Autowired注解自动注入,同时新增一个居民信息,账户表也新增一个账户,调用loginDao接口

@Transactional表示事务的注解 (当前事务指的就是当前对数据库操作的一系列指令)。在执行完用户操作,自动comit
在这里插入图片描述

什么是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一般会持久化所有的属性,有时,这是不希望的。


http://www.ppmy.cn/news/245856.html

相关文章

SSM框架整合(企业权限管理系统)

项目简介 基于Spring、SpringMVC、Mybatis框架整合的权限管理系统,主要技术是运用了SpringSecurity框架对用户访问页面的某些模块设置权限,具体可以看下文权限控制核心内容。 开发环境和使用的技术: IntelliJ Idea 、JDK 1.8 SVN 、Orcale、…

什么是ORM以及ORM框架

1-1.对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 2-1.ORM框架是连接数据库的桥梁,只要提供了持久化类与表的映射关系,ORM框架在运行时就能…

主流的ORM框架

.NET(C#)主流的ORM框架 SqlSugarDos.ORMChloeStackExchange/DapperEntity Framework (EF)NHibernateServiceStack/ServiceStack.OrmLitelinq2dbMassivePetaPoco 介绍 1、SqlSugar是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4. & .NET CORE的…

Krypital Group(金氪资本)宣布完成对Ambrus Studio的战略投资

Krypital Group(金氪资本)宣布完成对Ambrus Studio的战略投资。 关于Ambrus Studio Ambrus Studio工作室由一群充满雄心壮志的创作者组成。他们在游戏行业拥有广泛深厚的背景,并相互帮助支持,从而作为一个团队提供高质量的web3游…

2)Django ORM框架

目录 一 简介 1)作用: 2)Django ORM的模式特征 3)主要使用步骤 二 用法 1 数据库连接 2 创建数据模型 3 Django ORM 字段 ①常用字段类型 ②常用字段属性 4 基本数据操作--增删改查 5 数据操作常用函数 三 样例1&#xf…

Aurora简介

Amazon Aurora是一种兼容MySQL和PostgreSQL的商用级别关系数据库,它既有商用数据库的性能和可用性(比如Oracle数据库),又具有开源数据库的成本效益(比如MySQL数据库)。 Aurora的速度可以达到MySQL数据库的…

ORM框架介绍——什么是ORM框架?

1.什么是ORM? 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。ORM框架是连接数据库的桥梁,只要提供了持久化类与表的映射关系,ORM框架在运行时…

Springboot集成ORM框架开发(保姆级)

目录 一,整合Mybatis 创建springboot项目 勾选五个插件 代码生成 修改全局配置文件中对应的一处 拷贝代码生成的插件 注意:这两处路径要一致 完善Controller层代码,实现增删改查功能 BookController 完成对mapper接口的扫描 开启事…