SSM

SSM(Spring+SpringMVC+MyBatis)框架

SSM简述:

框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。

相比于之前的SSH(Spring+Struts+Hibernate),SSM更加轻量化和灵活,是目前业界主流的Java Web开发框架。

SSH 和 SSM 的定义与区别:
SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层。
SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层。
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

Spring简述:

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。
基于Spring框架可以解决Java EE开发的所有问题。

优势:Spring主要的作用是为了降低程序的耦合度,有利于程序的模块重用。而且使用时更方便、更简单。

核心技术点:控制反转(IOC) 、 依赖注入(DI)、面向切面编程(AOP)

SpringMVC简述:

SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。

问:什么是MVC?
:MVC(Model View Controller)是软件工程中的一种软件架构模式,它把软件系统分为模型(Model)、视图(View)和控制器(Controller)三个基本部分。

Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

MVC的优势与劣势:
优势:1.各施其职,互不干涉
2.有利于开发中的分工
3.有利于组件的重用
4.降低了层与层之间的依赖,有利于代码的标准化开发

劣势:1.增加了系统结构和实现的复杂性。
2.视图对模型数据的低效率访问。
3.麻烦,有些代码重复的过多,不利于在实际开发中使用。

MVC框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;

MVC设计模式有哪些?
工厂模式、适配器模式、策略模式等等。

MyBatis简述:

MyBatis 本是 Apache 的一个开源项目iBatis,是一个基于Java的持久层框架。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

MyBatis的特点

简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。

解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的orm字段关系映射
提供对象关系映射标签,支持对象关系组建维护
提供xml标签,支持编写动态sql。

Mybatis与Hibernate的区别

Hibernate:是一个全表映射的框架。通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作。开发者并不需要熟悉地掌握SQL语句的编写,Hibernate会根据制定的存储逻辑,自动的生成对应的SQL,并调用JDBC接口来执行,所以其开发效率会高于Mybatis。然而Hibernate自身也存在着一些缺点,例如它在多表关联时,对SQL查询的支持较差;更新数据时,需要发送所有字段;不支持存储过程;不能通过优化SQL来优化性能等。这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。

Mybatis:是一个半自动映射的框架。这里所谓的”半自动"是相对于Hibernate全表映射而言,Mybatis需要手动匹配提供POJO、SQL和映射关系,而Hibernate只需要POJO和映射关系即可。与Hibernate相比,虽然使用Mybatis手动编写SQL要比使用Hibernate的工作量大,但Mybatis可以配置动态SQL并优化SQL,可以通过配置决定SQL的映射规则,它还支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然使用Mybatis更加合适。

Mybatis是当前主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。因其性能优异,且具有高度的灵活性、可优化性和易于维护等特点,所以受到了广大互联网企业的青睐,是目前大型互联网项目的首选框架。

ORM:是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将java应用程序中的对象持久化到关系型数据库的表中;

使用ORM框架后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象,而ORM框架则会通过映射关系将这些面向对象的操作转换成底层的SQL操作;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值