天天看點

架構和MyBatis介紹

了解MyBatis及其他一些概念

一、架構的概念

架構(framework)是一個提供了可重用的公共結構的半成品。它為我們建構新的應用程式提供了最大的便利。一方面提供了拿來就用的工具,更重要的是,提供了可重用的設計。

架構技術是一個應用程式的半成品,提供了可重用的公共結構,按一定規則組織的一組元件。

架構的意義:減少重複勞動 便于團隊合作 增強安全性

二、資料持久化概念

資料持久化是将記憶體中的資料模型轉換為存儲模型,以及将存儲模型轉換為記憶體中的資料模型的統稱。例如:檔案的存儲,資料的讀取等。

資料模型可以是任何資料結構或對象模型。

存儲模型可以是關系模型、XML、二進制流等。

三、MyBatis架構及ORM

1. MyBatis架構簡介

MyBatis是一個開源的資料持久化層架構。它内部封裝了通過JDBC通路資料庫的操作,支援普通的SQL查詢,存儲過程和進階映射,幾乎消除了所有的JDBC代碼和參數的手工設定以及結果集的檢索。

MyBatis的前身是iBatis,本是apache的一個開源項目, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。

MyBatis官網:http://mybatis.org

GitHub: https://github.com/mybatis

2. 什麼是ORM

ORM(Object/Relational Mapping) 即對象/關系映射,是一種資料持久化技術。它在對象模型和關系型資料庫之間建立起對應關系,并且提供了一種機制,通過JavaBean對象去操作資料庫表中的資料。

3. MyBatis是ORM解決方案

基于ORM,MyBatis在對象模型和關系資料庫的表之間建立了一座橋梁,通過MyBatis建立SQL關系映射,以便捷地實作資料存儲、查詢、更改和删除操作。

四、主流架構介紹

Struts2架構

Struts2以WebWork優秀的設計思想為核心,吸收了 Struts架構的部分優點,提供了一個更加整潔的MVC設計模式實作的Web 應用程式架構 。

從邏輯中分離出橫切關注點的攔截器、減少或者消除配置檔案、貫穿整個架構的強大表達式語言、支援可變更和可重用的基于MVC模式的标簽API, Struts2充分利用了從其它MVC架構學到的經驗和教訓,使得 Struts2架構更加清晰靈活。

Hibernate 架構

Hibernate 是一個優秀的持久化架構,負責簡化将對象資料儲存到資料庫中,或從資料庫中讀取資料并封裝到對象的工作。

Hibernate 通過簡單的配置和編碼即可替代JDBC繁瑣的程式代碼。

Spring 架構

Spring也是一個開源架構。它的目标是使現有的JavaEE技術更容易使用和促進良好的程式設計習慣。它是一個輕量級架構,滲透JavaEE技術的方方面面。它主要作為依賴注入容器和AOP實作存在,還提供了聲明式事務,對DAO層的支援等簡化開發的功能。

Spring 還可以很友善地與Spring MVC、Struts2、MyBatis、Hibernate 等架構內建。

spring MVC 架構

Spring MVC屬于SpringFrameWork的後續産品,已經融合在Spring Web Flow裡面。Spring 架構提供了建構 Web 應用程式的全功能 MVC 子產品。使用 Spring 可插入的 MVC 架構,進而在使用Spring進行WEB開發時,可以選擇使用Spring的SpringMVC架構或內建其他MVC開發架構,如Struts2等。

Spring MVC是結構最清晰的MVC Model2的實作。并且擁有高度的可配置性,支援多種視圖技術。還可以定制開發,相當靈活。此外,Spring整合Spring MVC可以說是無縫內建,是一個高性能的架構模式。

MyBatis 架構

MyBatis 是一個優秀的資料持久化架構,在實體類和SQL語句之間建立映射關系,是一種半自動化的ORM實作。其封裝要低于Hibernate,性能優秀,并且小巧,簡單好學。

繼續閱讀