MyBatisはどうやって2つのテーブルのフィールドを返すの?
マイBatisは、関連クエリ(結合)を使用して、2つのテーブルのフィールドを返すことができます。
Mapper インターフェースで結合クエリメソッドを定義するには、次のようにします。
List<Map<String, Object>> selectTwoTables();
次に、Mapper XMLファイルで関連検索用のSQL文を記述します。例:
<select id="selectTwoTables" resultType="java.util.Map">
SELECT table1.field1 AS field1, table2.field2 AS field2
FROM table1
JOIN table2 ON table1.id = table2.table1_id
</select>
このSQL文はJOIN句を使用して2つの表からデータを関連付けて参照し、別名を使用してフィールドに別名を付けています。
メソッドを Mapper インターフェース に呼び出し連合検索を実行し、結果を取得します。
List<Map<String, Object>> result = mapper.selectTwoTables();
これにより、2 つのテーブルのフィールドを取得してマップ形式で返すことができます。