JAVA --- SSH和SSM的区别


SSH(Struts,Spring,Hibernate) 和 SSM(SpringMVC,Spring,MyBatis)的区别

 

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

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

共同之处是是使用了Spring的依赖注入 DI 来管理各层的组件,使用了面向切面编程 AOP 来实现日志管理,权限认证,事务等通用功能的切入;

不同之处是 Struts2 和 SpringMVC 做前端控制器的区别 ,以及 Hibernate 和 MyBatis 做持久化的区别,但是 Struts2 也可以 和 MyBatis 搭配使用,SpringMVC 也可以和 Hibernate 搭配使用。

 


 

所在分层       SSH       SSM 

页面层(View)     JSP         JSP

控制器层(Controller)  Struts2      SpringMVC        

业务层(Service)    JAVA       JAVA

 

持久层(DAO)     Hibernate     Mybatis

数据库层(DB)     Mysql/Oracle            Mysql/Oracle

组件管理(Bean)    Spring        Spring


 

Hibernate 和 MyBatis 在 ORM 侧重点的不同

 

Hibernate 对数据库结构提供了较为完整的封装,Hibernate 的O/R Mapping 实现了POJO 和数据库表之间的映射,以及SQL的自动生成和执行。程序员往往只需要定义好了POJO 到数据库表的映射关系,及可通过 Hibernate 提供的方法完成持久层操作。程序员甚至不需要对 SQL 熟练掌握,Hibernate/OJB 会根据指定的存储逻辑,自动生成对应的SQL 并调用 JDBC接口加以执行。

 

MyBatis 的着力点,则在于 POJO 与 SQL 之间的映射关系,然后通过映射配置文件,将SQL所需要的参数,以及返回的结果字段映射到指定POJO。相对 Hibernate"O/R"而言,MyBatis 是一种 SqlMapping 的ORM实现。

 

SQL语句支持:Hibernate 的真正掌握要比 Mybatis 来得难些。Mybatis 手动维护 SQL 语句。Hibernate 修改优化 SQL 语句困难,Mybatis 由于 SQL 语句自己控制,优化非常方便。

 

 

 学习于这篇文章:https://www.cnblogs.com/yncx/p/6767073.html

 

 

用于个人学习:

 

 

 

 

 


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM