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