MyBatisの記事一覧
MyBatis に関する記事を 5 本まとめています。Spring Boot の実装・設計・運用の観点で関連テーマを横断して読めます。
-
Spring Boot + MyBatisの動的SQL - where・set・trim・choose・bind・foreachの書き方と「ANDが先頭に残る」「末尾カンマ」「IN句が空で落ちる」の対処
Spring Boot + MyBatisの動的SQLタグ(where/set/trim/choose/bind/foreach)を、書いたXMLと実際に発行されたSQLを並べて解説。条件が全部空でも壊れない検索Mapper、末尾カンマが残らない部分更新、foreachに空リストやnullを渡しても落ちない防御パターンまで、エラー別の対処法をまとめます。
-
Spring Boot + MyBatisで1対多・多対1の結合結果をマッピングする方法 - resultMapのassociation・collectionとN+1対策
Spring Boot 3 + MyBatisで親子テーブルのJOIN結果を階層DTOに詰める方法を解説。resultMapのassociation(多対1)とcollection(1対多)、columnPrefixによるカラム衝突回避、ネストselectとネストresultMapの発行SQL本数比較(N+1の実測)、ページング併用時に件数がズレる罠と回避策まで、XMLとアノテーション両記法のコピペで動くコード付き。
-
Spring Boot + MyBatisでページネーションを実装する方法 - PageHelper・RowBounds・手書きLIMIT/OFFSETの使い分け
Spring Boot + MyBatisで一覧APIのページングを実装する3方式(手書きLIMIT/OFFSET・RowBounds・PageHelper)を、発行SQL・件数取得・ソート・追加依存の観点で比較。RowBoundsがメモリページングになる理由、PageHelperのスレッドローカルの罠とhelperDialect設定、Spring DataのPageableへの変換まで、そのまま動くコードで解説します。
-
Spring BootでMyBatisを使う方法 - Mapper定義・動的SQL・結果マッピングの実装ガイド
Spring BootにMyBatisをゼロから組み込む実装ガイド。mybatis-spring-boot-starterの依存追加からアノテーション/XMLの2記法によるMapper定義、ifタグとforeachタグによる動的SQL、resultMapでの結合結果マッピング、#{}と${}の安全性、@Transactional連携までを動くコードで解説します。
-
Spring BootでMyBatisとJPAどちらを選ぶべきか - 使い分け基準と併用パターン【比較表付き】
Spring BootプロジェクトでMyBatisとJPAのどちらを選ぶべきか迷っていませんか?本記事ではSQL制御の柔軟性・学習コスト・パフォーマンス・保守性を比較表で整理し、実務での使い分けフローチャート、#{} と ${} の違い、両者を併用する具体的な設定例まで解説します。判断材料を一度にまとめて確認できます。