MyBatis四大物件及外掛程式原理

2021-09-26 07:29:06 字數 1375 閱讀 2254

1.四大物件:

parameterhandler:處理sql的引數物件  

statementhandler:資料庫的處理物件,用於執行sql語句      

executor:mybatis的執行器,用於執行增刪改查操作          

resultsethandler:處理sql的返回結果集

追蹤四大物件的原始碼:

org.apache.ibatis.executor.parameter.parameterhandler

從原始碼可以看到,該介面類裡的setparameters方法

basestatementhandler:statementhandler的實現類

executor:執行sql,提交事務,處理事務。
public inte***ce executor
resultsethandler:處理結果集
public inte***ce resultsethandler
defaultresultsethandler實現了resultsethandler 介面
外掛程式原理:mybatis的這四個物件都是可以攔截的,通過動態**的方式攔截其中的物件,改變底層的設計**。框架裡提供了intecptor

public inte***ce interceptor
/**

*實現***介面編些外掛程式

*@intercepts ***註解

*@signature

*type 攔截的物件

*method 攔截的方法

*args引數

*/public class testinterceptor implements interceptor

/***返回**物件

*/ @override

public object plugin(object target)

return target;

}/**

*設定外掛程式引數

*/ @override

public void setproperties(properties properties)

}

MyBatis四大物件

mybatis四大物件指的是 executor,statementhandler,parameterhandler和resulthandler物件。這四個物件在sqlsession內部共同協作完成sql語句的執行,同時也是我們自定義外掛程式攔截的四大物件。sqlsession 首先會呼叫execut...

JSP四大域物件

web開發中的四個域物件 有 範圍小到大 page jsp有效 page 域指的是 pagecontext.request 一次請求 request 域指的是 session 一次會話 session 域指的是 web應用域指的是 之所以他們是域物件,原因就是他們都內建了map 集合,都有 seta...

Java四大域物件

1.生命週期 當web應用被載入進容器建立代表整個web應用的servletcontext物件,當伺服器關閉或web應用被移除時,servletcontext物件跟著被銷毀。2.作用範圍 整個web應用。3.在不同servlet之間 讀取資源檔案1.生命週期 在service方法呼叫前由伺服器建立,...