2

私が開示したくない多くの理由(長くて退屈な話)のために、私は複雑なアプリケーションとデータベースとの相互作用をキャプチャする必要があります。アプリケーションはSpring/JdbcTemplateの上に構築されており、このアプリケーションから送信されたすべてのSQLを見つける必要があります。どうすればそれを可能な限り簡単な方法で行うことができますか?

JdbcTemplateの疑似モック実装を作成することは合理的ではないようです。まず、JdbcTemplateはクラスであり、インターフェイスではありません。第二に、それは実装するのが面倒になる大きなインターフェースを持っています。私はモックの方針に沿って、DataSourceすべてConnectionのSQLを送信することを考えていますが、これを行うためのより簡単な方法があるのではないでしょうか。

4

2 に答える 2

4

この種の問題は非常にきれいに解決されます。P6スパイ。Spring で動作させる方法については、良い記事があります。

それが役立つことを願っています。

于 2012-11-30T11:13:23.783 に答える
2

出て行くすべての SQL をキャプチャする唯一の方法は、アプリケーションとデータベースの間の接点になることです。これは、実際に JDBC インタラクションを処理するライブラリ実装からDataSourceConnection、およびすべてのタイプの をデコレートし、 bean 定義Statementで指定されたデコレートされたデータ ソースから、デコレートされた接続で実行されているすべてのステートメントを書き留めることを意味します。SimpleJdbcTemplate保守性の観点から、これを他の時点で把握することは困難です。

于 2012-11-30T10:51:11.903 に答える