Mybatisで複数テーブルを結合させる方法
Mybatisで複数テーブルを結合させる方法の例を示します。
テーブル構造
- test_user テーブル
- id (ユーザーID)
- name (ユーザー名)
- test_order テーブル
- order_id (注文ID)
- user_id (ユーザーID)
- product (商品名)
MybatisのSQLマッピング
<select id="getUserOrders" parameterType="int" resultType="map"> select u.id as userId, u.name as userName, o.order_id as orderId, o.product as product from test_user u join test_order o on u.id = o.user_id where u.id = #{id} </select>
解説
- select文で必要なカラムを指定します。
- joinを使用して、test_user テーブルと test_order テーブルを user_id で結合します。
- where句で、ユーザーIDを指定して該当するユーザーの注文情報を取得します。