mybatis学習ノート(五)セットとプラグイン
2094 ワード
mybatis学習ノート(五)セットとプラグイン mybatisプラグイン の4つのコンポーネント Exector Station Handler Parameeter Handler Result SetHandler カスタムプラグイン 総括 mybatisプラグイン
mybatisは優れたORMオープンソースフレームとして、強い柔軟性を持っています.mybatisの4つのコンポーネントExector、Sttement Handler、Parameeter Handler、ResultSetHandlerにプラグイン拡張を提供し、4つのコンポーネントをブロックして機能拡張を実現します.
四つのコンポーネント
Exector
Exectorはmybatisのアクチュエータで、mybatisの下のjdbcコードの実行の下の端で、その中のudate、query、comit、rollbackなどの方法に対してブロックを行うことができて、そして強めます.
Sttement Handler
Sttement Handlerは主に私たちが使っているsql文のプレースホルダの値を設定し、また戻ります.その中のprepare、parameterize、batch、udates queryなどの方法をブロックすることができます.
Parameter Handler
Parameeter Handlerはパラメータプロセッサであり、ユーザに渡すパラメータをJDBC Sttementに変換するために必要なパラメータを担当しています.get ParameterObject、set Parameters方法をブロックして、開拓します.
Result SetHandler
Result SetHandlerは、JDBCから戻ったResult Setの結果集の対象をListタイプの集合に変換し、handleResult Sets、handleOutput Parameetersなどの方法をブロックし、拡張する.
ユーザー定義プラグイン
まずインターフェースを実現し、その中の方法を実現します.
mybatisのプラグインの機能はとても強くて、私達は改ページ、分表、監視などの機能をすることができます.次のメモはmybatisのソースコード解析を記録します.
mybatisは優れたORMオープンソースフレームとして、強い柔軟性を持っています.mybatisの4つのコンポーネントExector、Sttement Handler、Parameeter Handler、ResultSetHandlerにプラグイン拡張を提供し、4つのコンポーネントをブロックして機能拡張を実現します.
四つのコンポーネント
Exector
Exectorはmybatisのアクチュエータで、mybatisの下のjdbcコードの実行の下の端で、その中のudate、query、comit、rollbackなどの方法に対してブロックを行うことができて、そして強めます.
Sttement Handler
Sttement Handlerは主に私たちが使っているsql文のプレースホルダの値を設定し、また戻ります.その中のprepare、parameterize、batch、udates queryなどの方法をブロックすることができます.
Parameter Handler
Parameeter Handlerはパラメータプロセッサであり、ユーザに渡すパラメータをJDBC Sttementに変換するために必要なパラメータを担当しています.get ParameterObject、set Parameters方法をブロックして、開拓します.
Result SetHandler
Result SetHandlerは、JDBCから戻ったResult Setの結果集の対象をListタイプの集合に変換し、handleResult Sets、handleOutput Parameetersなどの方法をブロックし、拡張する.
ユーザー定義プラグイン
まずインターフェースを実現し、その中の方法を実現します.
@Intercepts({
@Signature(type = StatementHandler.class,
method = "prepare",
args = {Connection.class,Integer.class})
})
public class MyPlugin implements Interceptor {
// , ,
@Override
public Object intercept(Invocation invocation) throws Throwable {
System.out.println(" ");
return invocation.proceed();
}
// ( ), , interceptChain ( )
@Override
public Object plugin(Object o) {
Object wrap = Plugin.wrap(o, this);
return wrap;
}
//
@Override
public void setProperties(Properties properties) {
System.out.println(" :"+properties);
}
}
sql MapConfig.xmlにプラグインを設定します.
締め括りをつけるmybatisのプラグインの機能はとても強くて、私達は改ページ、分表、監視などの機能をすることができます.次のメモはmybatisのソースコード解析を記録します.