Plugins

摘一段來自MyBatis官方文檔的文字。

MyBatis允許你在某一點攔截已映射語句執(zhí)行的調(diào)用。默認情況下,MyBatis允許使用插件來攔截方法調(diào)用

  • Executor(update、query、flushStatements、commint、rollback、getTransaction、close、isClosed)

  • ParameterHandler(getParameterObject、setParameters)

  • ResultSetHandler(handleResultSets、handleOutputParameters)

  • StatementHandler(prepare、parameterize、batch、update、query)

這些類中方法的詳情可以通過查看每個方法的簽名來發(fā)現(xiàn),而且它們的源代碼存在于MyBatis發(fā)行包中。你應該理解你所覆蓋方法的行為,假設(shè)你所做的要比監(jiān)視調(diào)用要多。如果你嘗試修改或覆蓋一個給定的方法,你可能會打破MyBatis的核心。這是低層次的類和方法,要謹慎使用插件。

 

插件示例:打印每條SQL語句及其執(zhí)行時間

以下通過代碼來演示一下如何使用MyBatis的插件,要演示的場景是:打印每條真正執(zhí)行的SQL語句及其執(zhí)行的時間。這是一個非常有用的需求,MyBatis本身的日志可以記錄SQL,但是有以下幾個問題:

    延伸閱讀

    學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式