Mybatis外掛程式原理

2022-09-18 05:06:19 字數 2246 閱讀 3402

外掛程式原理

* 在四大物件建立的時候

* 1、每個建立出來的物件不是直接返回的,而是

*      interceptorchain.pluginall( parameterhandler )

** 2、獲取到所有的interceptor(基於***原理)(外掛程式需要實現的介面)

*      呼叫所有的interceptor.pluginall(target);返回target包裝後的物件

* 3、外掛程式機制,我們可以使用外掛程式為目標物件建立乙個**物件:aop(面向切面的方式)

*      我們的外掛程式可以為四大物件建立出**物件

*      **物件就可以攔截到四大物件的每乙個執行方法

public 

object pluginall

(object target)

return

target;

}

外掛程式編寫:

1、編寫interceptor的實現類

2、使用@intercepts註解完成外掛程式簽名

/**

* 完成了外掛程式簽名:告訴mybatis當前外掛程式用來攔截哪個物件的哪個方法

*/@intercepts

()public class

myfirstplugin implements

interceptor

/*** plugin:包裝目標物件——包裝:為目標物件建立乙個**類

*@param

target

*@return

*/@override

public

object plugin

(object target)

/*** setproperties:將外掛程式註冊時的property屬性設定進來

*@param

properties

*/@override

public void

setproperties

(properties properties)

}

3、將寫好的外掛程式註冊到全域性配置檔案中

interceptor

="dao.myfirstplugin"

>

name

="username"

value

="root"

/>

name

="password"

value

="123456"

/>

執行結果:

多個外掛程式執行原理

多個外掛程式就會產生多層**

建立動態**的時候是按照外掛程式配置順序建立層層動態**物件,執行目標方法的時候是按照逆序來的

mybatis 外掛程式原理

1 mybatis初始化 每個基於 mybatis 的應用都是以乙個 sqlsessionfactory 的例項為中心的。sqlsessionfactory 的例項可以通過 sqlsessionfactorybuilder 獲得。而 sqlsessionfactorybuilder 則可以從 xml...

Mybatis 外掛程式原理

哪些物件允許被 外掛程式 executor parameterhandler statementhandler resultsethandler 什麼時候建立 物件 executor sqlsession.opensession的時候被 其他3個建立的時候被 多個外掛程式的時候,執行順序 被 的順序...

Mybatis 外掛程式原理解析

mybati s作為 個應 泛的優秀的orm開源框架,這個框架具有強 的靈活性,在四 元件 executor statementhandler parameterhandler resultsethandler 處提供了簡單易 的插 件擴充套件機制。mybatis對持久層的操作就是借助於四 核 物件...