怎样快速学好网站建设,我的校园网站制作,网站有死链接怎么办,js做论坛网站文章目录 一、什么是ORM框架#xff1f;二、常见的ORM框架(持久层框架)2.0 什么是持久化2.1 Hibernate2.1.1、Hibernate的使用步骤 2.2 mybatis2.3 mybatis plus2.4 jpa springdata2.5 jfinal 三、ORM框架的优缺点#xff1f;3.1 优点3.1.1、减少代码的重复量#xff0c;提高… 文章目录 一、什么是ORM框架二、常见的ORM框架(持久层框架)2.0 什么是持久化2.1 Hibernate2.1.1、Hibernate的使用步骤 2.2 mybatis2.3 mybatis plus2.4 jpa springdata2.5 jfinal 三、ORM框架的优缺点3.1 优点3.1.1、减少代码的重复量提高代码的复用率3.1.2、使开发更加对象化3.1.3、使数据库结构文档化3.1.4、ORM框架包含CRUD的API3.1.5、可移植 3.2 缺点 一、什么是ORM框架 ORM是Object Relational Mapping(对象——关系映射)的简称。 ORM框架是一种解决面向对象编程(Java…)与关系型数据库(MySql、Oracle、DB2、Sql Server、Access)中数据类型不匹配的技术。描述Java对象与关系型数据库里的表的映射关系自动将Java程序中的对象持久化到数据库表中。 业务实体具有两种表现形式在内存中表现为对象在关系型数据库中表现为关系数据。内存中的对象通过继承、实现等方式可以存在多种关系而数据库中的关系数据无法直接表达多对多关联和继承关系。因此一般ORM以中间件的形式存在来实现程序对象到关系型数据库中关系数据的一一映射。
二、常见的ORM框架(持久层框架)
2.0 什么是持久化 让数据持久化。数据一般保存在内存中但是内存中保存数据有一个缺点就是断电即失。因此起初计算机保存数据让其持久化的手段是使用JDBC或者IO流让数据以文件的形式长久存储起来。随着业务需求场景的不断变化逐渐衍生出将数据持久保存到数据库中来实现数据的持久化。那为什么要进行数据持久化呢1、对于计算机来说用户的数据需要完整的被保护并且安全存储以便用户能够安心且正常的使用程序。2、内存昂贵。同等价格的内存和硬盘内存其大小是硬盘的小一半。 什么是持久层以往我们还学过DAO层、service层、controller层、resposity层…一个层对应完成相应工作的代码块。持久层就是完成持久化工作的代码块。层与层之间的界限十分明显。
2.1 Hibernate Hibernate是一个 全表映射 的ORM框架程序员一般只需要定义好持久化对象和数据库中的表的关系映射就可以通过Hibernate框架提供的方法完成持久层操作。 譬如某个数据库中具有下图的两张表此时就可以在代码中定义出与数据库中的表相同的对象此处的相同指的是对象的命名、对象中的成员变量。
2.1.1、Hibernate的使用步骤
1、导入相关依赖 在pom.xml文件中添加3个依赖。分别是JDBC驱动包、hibernate依赖、lombok。 2、创建 Hibernate 配置文件 在resources(外部资源)包中创建名为hibernate.cfg.xml的配置文件。 3、创建实体类 4、创建 实体类-关系映射文件(这一步很关键) 配置此文件之后会将Java类映射成数据库中的表这个文件会配置实体类跟数据库表的关系。
5、写好的实体类——关系映射文件注册到Hibernate配置文件 写好的实体类——关系映射文件需要注册到Hibernate配置文件中配置的实体类——关系映射文件才会生效。将上述第二步的配置文件hibernate.cfg.xml中添加如下内容此时即可将实体类——关系映射文件注册到hibernate配置文件中。 6、调用 Hibernate API 完成操作
2.2 mybatis mybatis是一款优秀的持久层框架它支持定制sql、存储过程、以及高级映射。mybatis避免了几乎所有的JDBC代码和手动设置参数以及设置结果集。 mybatis可以使用简单的xml或者注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Object 普通老式Java对象)为数据库中的记录。 mybatis的使用步骤以及更详细的资料待我后续学习后补充同学们也可以自行搜索其他资料进行学习。
2.3 mybatis plus mybatis plus 是基于mybatis的国内开源框架其基于mybatis进行了进一步封装是mybatis的增强在mybatis的基础上不做改变只为了简化开发、提高效率。 mybatis的使用步骤以及更详细的资料待我后续学习后补充同学们也可以自行搜索其他资料进行学习。
2.4 jpa springdata springdata也是一个持久层框架实现数据持久化他既支持关系型数据库也支持非关系数据库springdata将我们的数据存储进行了统一提高了开发效率降低了学习效率。 springdata的使用步骤以及更详细的资料待我后续学习后补充同学们也可以自行搜索其他资料进行学习。
2.5 jfinal
三、ORM框架的优缺点
3.1 优点
3.1.1、减少代码的重复量提高代码的复用率 当我们实现一个系统时不使用ORM框架而是直接使用JDBC将程序代码与数据库进行连接的话我们可能会写特别多数据访问层的代码譬如读取对象信息、删除数据、查找数据、保存数据、修改数据…这些代码大部分都是重复的。使用ORM框架会大大减少重复性的代码提高开发效率降低开发成本。ORM框架(Object Relational Mapping 对象关系映射)主要实现程序对象与关系型数据库中的关系数据的映射。 举个例子之前写过一个servlet的项目在这个servlet项目中后端程序代码与数据库的连接使用的是JDBC的方式。 而在使用了springboot框架完成的项目中后端程序代码访问数据库将变得简单。这是因为springboot框架中集成了许多ORM框架譬如mybatis、jpa springdata…程序员在编写代码的时候可以按照自己的项目需求去选择合适自己的ORM框架添加到自己的springboot框架中。
3.1.2、使开发更加对象化 ORM框架以最基本的形式建模数据。在后端程序代码编程中会将数据库中的一张张表映射成程序中的一个个对象一个对象对应一张表表中的字段与对象中的成员变量对应。
3.1.3、使数据库结构文档化 使用ORM框架时数据库会被转换为Java程序员容易读懂的Java类(对象)如果程序员对数据库的sql语句了解较浅此时Java程序员只需要把注意力放在他擅长的Java代码层面上。
3.1.4、ORM框架包含CRUD的API ORM框架会将数据库中的sql语句封装成编程语言中的函数例如create()、update()、save()、load()…程序员可以通过函数的链式组合生成最终的sql语句。通过这样的封装形成了代码风格的统一性避免了代码冗余以及不规范的特点。
3.1.5、可移植
3.2 缺点 1、通过ORM框架实现对象与关系数据的映射可能会加重操作系统的负担消耗内存、消耗系统性能。 2、在进行多表查询或者子查询、联合查询、条件查询…这些复杂查询时ORM语句会变得复杂起来对于初入编程的新手来说难以理解。