mybatis-plus resultmap 对应另一个对象
时间: 2023-07-18 21:42:03 浏览: 91
可以使用 Mybatis-Plus 的 @Results 和 @Result 注解来实现 resultMap 对应另一个对象。具体步骤如下:
1. 在需要返回的对象中添加对应的属性,例如需要返回 User 对象中包含一个 Order 对象:
```
public class User {
private Integer id;
private String name;
private Order order;
// 省略 getter 和 setter
}
public class Order {
private Integer id;
private String orderNo;
// 省略 getter 和 setter
}
```
2. 在 UserMapper 接口中使用 @Select 注解查询数据,并使用 @Results 和 @Result 注解将查询结果映射到 User 对象中的属性上:
```
@Select("SELECT u.id, u.name, o.id AS order_id, o.order_no FROM user u LEFT JOIN order o ON u.order_id = o.id WHERE u.id = #{id}")
@Results({
@Result(id=true, column="id", property="id"),
@Result(column="name", property="name"),
@Result(column="order_id", property="order.id"),
@Result(column="order_no", property="order.orderNo")
})
User getUserById(Integer id);
```
3. 在调用 getUserById 方法时,Mybatis-Plus 会自动将查询结果映射到 User 对象中,并将 Order 对象作为 User 对象的属性返回。
注意:在使用 @Result 注解时,column 属性的值需要和查询语句中的列名保持一致,property 属性的值需要和对象中的属性名保持一致。
阅读全文