11.4 MyBatis での応用的な CRUD 操作
❹
MyBatis が提供するSQL クラスとそのメソッドを使用して、SQL を組み立てる
MyBatis が提供する
SQL
クラスを使用すると、単純な文字列連結によるSQLの組み立てに比べて、
安全かつ効率的に SQLを組み立てることができます。
SQL
クラスの詳細については、MyBatis の公
式サイト
【5】
を参照してください。
1対 1と 1対多のマッピング
ここまでの説明では、取得したレコードを
1
つのオブジェクトにマッピングする方法を紹介してきました。こ
こでは、
1
対
1
や
1
対多の関連を持つテーブルからレコードを取得して、関連テーブルのレコードをネストしたオ
ブジェクトにマッピングする方法を紹介します。これを今まで説明してきた方法だけで実現しようとすると、以
下のような実装が必要になります。
ここまでの説明で紹介した方法で実現する際の実装例
//
主テーブルのレコードを取得するための
Mapper
メソッドを呼び出す。
MeetingRoom meetingRoom =
meetingRoomMapper.findOne(meetingRoomId);
//
関連テーブルのレコードを取得するための
Mapper
メソッドを呼び出す。
List<ReservableRoom> reservableRooms =
meetingRoomMapper.findReservableRooms(meetingRoomId); ...