MyBatis 架构分层与模块划分
在MyBatis 的主要工作流程里面,不同的功能是由很多不同的類協(xié)作完成的,它們分布在MyBatis jar 包的不同的package 里面。
我們來看一下MyBatis 的jar 包(基于3.5.1),
jar 包結(jié)構(gòu)是這樣的(21 個(gè)包):
大概有300 多個(gè)類,這樣看起來不夠清楚,不知道什么類在什么環(huán)節(jié)工作,屬于什么層次。
跟Spring 一樣,MyBatis 按照功能職責(zé)的不同,所有的package 可以分成不同的工作層次。
我們可以把MyBatis 的工作流程類比成餐廳的服務(wù)流程。
第一個(gè)是跟客戶打交道的服務(wù)員,它是用來接收程序的工作指令的,我們把它叫做接口層。
第二個(gè)是后臺(tái)的廚師,他們根據(jù)客戶的點(diǎn)菜單,把原材料加工成成品,然后傳到窗口。這一層是真正去操作數(shù)據(jù)的,我們把它叫做核心層。
最后就是餐廳也需要有人做后勤(比如清潔、采購(gòu)、財(cái)務(wù)),來支持廚師的工作和整個(gè)餐廳的運(yùn)營(yíng)。我們把它叫做基礎(chǔ)層。
來看一下這張圖,我們根據(jù)剛才的分層,和大體的執(zhí)行流程,做了這么一個(gè)總結(jié)。當(dāng)然,從不同的角度來描述,架構(gòu)圖的劃分有所區(qū)別,這張圖畫起來也有很多形式。我們先從總體上建立一個(gè)印象。每一層的主要對(duì)象和主要的功能我們也給大家分析一下。
?
?
總結(jié)
以上是生活随笔為你收集整理的MyBatis 架构分层与模块划分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis 的工作流程分析
- 下一篇: MyBatis 架构分层与模块划分-接口