mcpField
5
511-frameworks-micronaut-jdbc

511-frameworks-micronaut-jdbc

github.com/jabrenaデータ・データベース456302 回インストール1 日前に更新
リポジトリ

511-frameworks-micronaut-jdbc について

Micronaut のプログラムによる JDBC データアクセスをレビュー・改善するスキルです。安全な SQL、リソース管理、トランザクションのパターンを扱い、事前コンパイルと変更後の検証を求めます。

主な機能

  1. 01バインドパラメーター付き PreparedStatement
  2. 02JDBC リソースの安全な管理
  3. 03ResultSet のマッピングとストリーミング
  4. 04一括挿入向けバッチ更新
  5. 05トランザクション境界と伝播設定
  6. 06SQLException の変換

活用シーン

  1. 01Micronaut JDBC のデータアクセスをレビュー
  2. 02SQL のパラメーター指定を改善
  3. 03大規模な結果セットを安全にストリーミング
  4. 04トランザクションの自己呼び出しを調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jabrena/plinth --skill 511-frameworks-micronaut-jdbc

インストール後、Claude Code で/511-frameworks-micronaut-jdbcを入力して読み込まれたか確認します。

同梱ファイルreferences/511-frameworks-micronaut-jdbc.md

詳細

Micronaut JDBC — プログラムによる SQL 操作

安全な SQL と明確なトランザクションを用いて、Micronaut でプログラムによる JDBC のパターンを適用します。

このスキルで扱う内容

  • 注入された javax.sql.DataSource(micronaut-jdbc-hikari による Hikari 対応)と、Connection / PreparedStatement に対する try-with-resources
  • バインドパラメーターを使用する PreparedStatement — 文字列の連結は決して使用しません
  • ResultSet の行を Java レコードにマッピングする方法(専用の mapRow メソッド)
  • Optional を使用した安全な単一行クエリ — rs.next() が成功すると決めつけません
  • SQLException からドメイン例外への変換(キャッチして変換し、再スロー)
  • OOM を回避するため、setFetchSize を使用して大きな結果セットをストリーミング
  • 大量挿入に addBatch / executeBatch を使用したバッチ更新
  • @Transactional によるサービス境界と TransactionDefinition.Propagation(独立してコミットする REQUIRES_NEW など)
  • 自己呼び出しの落とし穴:this.method() ではなく、注入された Bean を通じてトランザクション対応の協力オブジェクトを呼び出します
  • 複数行 SQL(アップサート、方言固有の句)に SQL テキストブロックを使用
  • Micronaut Data(@512)と生の JDBC のどちらを優先するか

適用範囲: リファレンスのルールと適切なコード例/不適切なコード例に基づいて、推奨事項を適用します。

制約事項

JDBC をリファクタリングする前にコンパイルし、変更後に検証してください。

  • 必須:変更を適用する前に ./mvnw compile または mvn compile を実行します
  • 前提条件:JDBC の改善を適用する前に、プロジェクトがコンパイルできる必要があります
  • 安全性:コンパイルに失敗した場合は、直ちに停止します
  • ブロック条件:コンパイルエラーは、続行する前にユーザーが解決する必要があります
  • 検証:改善を適用した後に ./mvnw clean verify または mvn clean verify を実行します
  • 適用前:詳細なルールと例について、リファレンスを読みます

このスキルを使用する場面

  • Micronaut プロジェクトの JDBC または SQL によるデータアクセスをレビューする
  • Micronaut JDBC のトランザクションとパラメーターのバインドを改善する
  • SQLException をドメイン例外に変換する、または大きな結果セットをストリーミングする
  • Micronaut で @Transactional を迂回する自己呼び出しを修正する
  • Micronaut JDBC における Hikari またはプールされたデータソースの使用状況をレビューする

ワークフロー

  1. リファレンスを読み、プロジェクトのコンテキストを確認する

references/511-frameworks-micronaut-jdbc.md を読み、変更を提案する前に現在のプロジェクト設定を確認します。

  1. 適用範囲を把握し、改善対象を決める

求められる成果、制約事項、適用する最小限かつ安全な変更を特定します。

  1. フレームワークに沿った変更を適用する

リファレンスのパターンとプロジェクトの規約に従って、設定やコードを実装またはリファクタリングします。

  1. 検証を実行し、結果を報告する

適切なビルドやテストを実行し、変更内容、検証内容、今後必要な対応をまとめます。

リファレンス

詳細なガイダンス、例、制約事項については、references/511-frameworks-micronaut-jdbc.md を参照してください。

コメント