データアクセスの記事一覧
データアクセス に関する記事を 6 本まとめています。Spring Bootの実装・設計・運用の観点で関連テーマを横断して読めます。
-
Spring BootでMyBatisを使う方法 - Mapper定義・動的SQL・結果マッピングの実装ガイド
Spring BootにMyBatisをゼロから組み込む実装ガイド。mybatis-spring-boot-starterの依存追加からアノテーション/XMLの2記法によるMapper定義、<if>/<foreach>による動的SQL、resultMapでの結合結果マッピング、#{}と${}の安全性、@Transactional連携までを動くコードで解説します。
-
Spring Boot + JPAでenumをDBに保存する方法 - @Enumerated(EnumType.STRING)とAttributeConverterの使い分け
Spring Boot + JPAでenumフィールドをDBカラムへ永続化する方法を解説。@Enumerated(STRING/ORDINAL)の違いとORDINALの危険性、独自コード値を扱うAttributeConverterの実装、両者の使い分け基準を実例付きで整理します。
-
Spring Data JPAのプロジェクションでDTOを直接取得する方法 - インターフェース射影とクラスベース射影の使い分け
Spring Data JPAのプロジェクションで、必要な列だけをSELECTしてDTO/インターフェースに直接射影する方法を解説。インターフェース射影・クラス(コンストラクタ)射影・動的射影を実装で比較し、発行SQLの違いや選定基準、@Query併用時の落とし穴まで整理します。
-
Spring BootのJdbcTemplateで素のSQLを実行する方法 - queryForObject・RowMapper・バッチ更新の使い方
Spring標準のJdbcTemplateで生SQLを安全に書く方法を、queryForObjectでの単一行・スカラ取得、RowMapper/BeanPropertyRowMapperでの複数行取得、update/batchUpdateでのCRUD、NamedParameterJdbcTemplateでの名前付きバインド、@Transactional連携まで実装コード中心に解説します。
-
Spring Boot + JPAで論理削除を実装する方法 - @SQLDelete・@SQLRestriction・Filterの使い分け
Spring Boot 3.x + Hibernate 6.4で論理削除(ソフトデリート)を透過的に実装する方法を解説します。@SQLDelete + @SQLRestriction(旧@Where)と@SoftDelete・@FilterDefを比較して最短で選べるよう整理し、ユニーク制約衝突・復元処理・削除者の記録などハマりがちなポイントもまとめました。
-
Spring BootでMyBatisとJPAどちらを選ぶべきか - 使い分け基準と併用パターン【比較表付き】
Spring BootプロジェクトでMyBatisとJPAのどちらを選ぶべきか迷っていませんか?本記事ではSQL制御の柔軟性・学習コスト・パフォーマンス・保守性を比較表で整理し、実務での使い分けフローチャート、#{} と ${} の違い、両者を併用する具体的な設定例まで解説します。判断材料を一度にまとめて確認できます。