1. ホーム
  2. sql

Spring JdbcTemplateで基礎となるSQLを見る?

2023-08-28 08:16:06

質問

JdbcTemplateとNamedParameterJdbcTemplateの素晴らしさについて学んでいます。私は見るものが好きですが、それが実行される基本的なSQLを見るための簡単な方法はありますか?私はデバッグのためにこれを見たいと思います(例えば、外部ツールで結果のSQLをデバッグするために)。

どのように解決するのですか?

この Springのドキュメント には、DEBUGレベルでログが記録されると書かれています。

このクラスによって発行されたすべての SQL は DEBUG レベルで記録されます。 カテゴリに分類されます。 に対応する、完全修飾された クラス名 の完全修飾クラス名(通常はjdbcTemplateですが、jdbcTemplateクラスのカスタムサブクラスを使用している場合は異なる場合があります)に対応します。

XML の用語では、次のようなロガーを構成する必要があります。

<category name="org.springframework.jdbc.core.JdbcTemplate">
    <priority value="debug" />
</category>

しかし、このテーマは1ヶ月前にここで議論され、Hibernateのように動作させるのは簡単ではないようで、期待された情報を返しませんでした。 Spring JDBCはlog4jでSQLをロギングしない。 このトピックでは、それぞれの下で P6Spy を使うことを提案していますが、これはSpringに統合することもできます。 この記事 .