MyBatis 的注解方式支持多表關聯,但是它主要關注于單個映射器接口與 SQL 語句之間的映射關系。在 MyBatis 中實現多表關聯,你需要編寫相應的 SQL 語句來完成多表連接操作。
以下是一個簡單的示例,展示了如何使用 MyBatis 注解實現兩個表的內連接:
public class User {
private int id;
private String name;
// getter and setter methods
}
public class Order {
private int id;
private String product;
private int userId;
// getter and setter methods
}
<id property="id" column="user_id"/>
<result property="name" column="user_name"/>
<association property="order" javaType="Order">
<id property="id" column="order_id"/>
<result property="product" column="order_product"/>
<result property="userId" column="order_user_id"/>
</association>
</resultMap>
public interface UserMapper {
@Select("SELECT u.id as user_id, u.name as user_name, o.id as order_id, o.product as order_product, o.user_id as order_user_id FROM user u INNER JOIN order o ON u.id = o.user_id")
@ResultMap("UserOrderResultMap")
List<User> findUsersWithOrders();
}
這樣,當你調用 findUsersWithOrders()
方法時,MyBatis 會執行多表連接查詢,并將結果映射到 User 和 Order 實體類。