前面的步驟基本上已經(jīng)把mybatis框架實(shí)現(xiàn)類,主要的流程都在。下面我們來執(zhí)行一次測試代碼:

現(xiàn)在在使用上很接近mybatis了,看一下運(yùn)行結(jié)果:

沒有問題,框架正常工作!
前面的所有內(nèi)容都只是實(shí)現(xiàn)了一個(gè)框架的基本流程,并不算實(shí)現(xiàn)了一個(gè)框架,目前這個(gè)框架只能做查詢對象功能,局限性很大。我們看到從開始到結(jié)束把jdbc分成了很多步驟,在這里分其實(shí)意義不大,但是對于一個(gè)完整的框架,很有必要,我們分出來的每一部分,包括sqlSession,執(zhí)行器,參數(shù)處理器,結(jié)果處理器,結(jié)果對象生成工廠,包括配置的讀取等等,每一部分都是可以擴(kuò)展的,把使用單一類實(shí)現(xiàn)的地方使用接口的形式編寫,比如讀取配置從多種渠道讀取,配置數(shù)據(jù)源的時(shí)候使用線程池,查詢數(shù)據(jù)庫的時(shí)候可以使用其它執(zhí)行器和結(jié)果處理器,結(jié)果有很多類型,除了類之外,還有resultMap等,結(jié)果對象的創(chuàng)建也可以針對不同的類型進(jìn)行判斷和擴(kuò)展。
通過手寫一個(gè)簡單的mybatis,相信能對mybatis更加熟悉!