程序员笔记 (五十二)Mybatis SSH与SSM SpringMVC


aihuafeng66t
克里斯蒂亚诺诺 2024-01-12 14:11:17 66096 赞同 0 反对 0
分类: 资源 标签: 运维
程序员笔记 (五十二)Mybatis SSH与SSM SpringMVC

(一)Mybatis

1.ORM(Object-Relationship-Mapping):
是对象关系映射的意思,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来。
2.JPA
JPA(Java-Persistence-API):是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。
3.MyBatis概念
MyBatis是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架 (就和传统的JDBC一样,就是个连接数据库的东西),其实,它底层就是一个JDBC封装的组件。MyBatis的前身是Ibatis,Ibatis创建与2002年最初为Apache下面的一个开源项目,2010迁移到google code下面并改名为MyBatis。MyBatis是一个基于Java的持久层框架***(持久层框架:dao层)***
MyBatis虽然实现了JPA但是它并不是一个完完全全的ORM组件,而是一个基于SQL开发的半ORM组件。
而Hibernate是一个完完全全的ORM组件,它是完全基于对象来操作数据库中的记录,并不和MyBatis一样是一个假把式。

图片

Hibernate优点:

对象化。人员以面相对象的思想来操作数据库。

更好的移植性. 对于不同的数据库,开发者只需要使用相同的数据操作即可.

开发效率高。

缓存机制的使用。

Mybatis优势

简单易学 mybatis本身就很小且简单。

灵活 mybatis不会对应用程序或者数据库的现有设计强加任何影响。

解除sql与程序代码的耦合 

提供映射标签,支持对象与数据库的orm字段关系映射

提供对象关系映射标签,支持对象关系组建维护

提供xml标签,支持编写动态sql。

(二)SSH与SSM的区别

SSH是Spring+Struts2+Hibernate的缩写,是一种较主流的Java企业级应用框架。

SSM是Spring+SpringMVC+MyBatis的缩写,是继SSH之后,目前比较主流的Java企业级应用框架。

本质上都是Spring框架+MVC模式框架+ORM技术框架

通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate负责持久化层;SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层。

(三)Spring的核心功能

控制反转(IOC) & 依赖注入(DI)

控制反转(IOC)

将主动权交于工厂

依赖注入(DI)

IOC是将对象实例化的动作交由了Spring框架,它的作用是降低了程序的耦合,不需要我们手动的创建对象,但是程序的耦合性还是存在

对象中肯定会有一些其余对象的引用,那么这种引用就称为对象的依赖

如果一个类中的某个属性是另一个类,该属性无需手动赋值,通过Spring的配置文件或者注解,通过Spring框架可以实现直接注入属性

面向切面编程(AOP)

在不修改代码的情况下进行延伸

(四)SpringMVC的设计模式

图片

图片解析:

首先由客户发起请求,在由控制器接收,控制器转给模型(Model),模型从数据库中提取,再转还模型,模型转给控制器,控制器交给视图(View)进行渲染,渲染后返回控制器,控制器在提交给客户。

组件关系:

模型(Model)表示应用程序核心,是应用程序中用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据。

视图(View)用来显示数据,是应用程序中处理数据显示的部分,通常View是依据Model的数据而创建的。

控制器(Controller)用来处理用户输入并调用模型和视图来满足用户的需求,是应用程序中处理用户交互的部分,通常Controller负责从View读取数据,控制用户输入,并向Model发送数据。

优势:

清晰的角色划分;可适配、非侵入;可重用的业务代码;灵活的model转换;强大而直接的配置方式。

(五)

SpringMVC与Spring的关系:

他们两个人有着直系亲属的关系,两者吻合度高。

ORM程序技术

JDBC操作数据库的基本步骤:

加载(注册)数据库驱动(到JVM)。

建立(获取)数据库连接。

创建(获取)数据库操作对象。

定义操作的SQL语句。

执行数据库操作。

获取并操作结果集。

关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)。

概念:

ORM是对象(Object)、关系(Relational)、映射(Mapping)的缩写,是一种用于实现面向对象编程语言里不同类型系统的数据之间转换的程序技术

优势:

数据模型都在一个地方定义,更容易更新和维护,也利于重用代码。

ORM 有现成的工具,很多功能都可以自动完成,比如数据消毒、预处理、事务等等。

它迫使你使用MVC 架构,ORM 就是天然的Model,最终使代码更清晰。

基于ORM 的业务代码比较简单,代码量少,语义性好,容易理解。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
克里斯蒂亚诺诺L1
粉丝 0 资源 831 + 关注 私信
最近热门资源
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD  80
以openkylin为例编译安装内核  75
分享解决宏碁电脑关机时自动重启的方法  72
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作  63
统信uosboot区分未挂载导致更新备份失败  62
统信uos安装mysql的实例参考  59
格之格打印机dp3300系列国产系统uos打印机驱动选择  57
在银河麒麟高级服务器操作系统V10SP3中,需要将默认shell类型修改为csh。  51
MySQL国产平替最佳选择---万里数据库(GreatDB)  45
最近下载排行榜
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD 0
以openkylin为例编译安装内核 0
分享解决宏碁电脑关机时自动重启的方法 0
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作 0
统信uosboot区分未挂载导致更新备份失败 0
统信uos安装mysql的实例参考 0
格之格打印机dp3300系列国产系统uos打印机驱动选择 0
在银河麒麟高级服务器操作系统V10SP3中,需要将默认shell类型修改为csh。 0
MySQL国产平替最佳选择---万里数据库(GreatDB) 0
作者收入月榜
1

prtyaa 收益400.83元

2

zlj141319 收益237.91元

3

哆啦漫漫喵 收益231.52元

4

IT-feng 收益219.92元

5

1843880570 收益214.2元

6

风晓 收益208.24元

7

777 收益173.17元

8

Fhawking 收益106.6元

9

信创来了 收益106.03元

10

克里斯蒂亚诺诺 收益91.08元

请使用微信扫码

添加我为好友,拉您入交流群!

请使用微信扫一扫!