当前位置: 首页 > 工具软件 > Java-SSH > 使用案例 >

java和ssm是什么关系,JAVA --- SSH和SSM的区别

漆雕宏浚
2023-12-01

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实现。

 类似资料: