mybatis-plus双表查询
时间: 2023-09-20 07:06:11 浏览: 81
在 MyBatis-Plus 中进行双表查询可以使用 Mapper 接口的方法,也可以使用注解来编写 SQL。下面是两种常见的双表查询方式:
1. 使用 Mapper 接口方法:
```java
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT u.*, o.order_no FROM user u INNER JOIN orders o ON u.id = o.user_id")
List<UserOrderDTO> getUserOrder();
}
```
上述示例中,使用了 `@Select` 注解来编写 SQL,通过 INNER JOIN 将 user 表和 orders 表连接起来,并通过 UserOrderDTO 来封装查询结果。
2. 使用注解:
```java
@Mapper
public interface UserMapper {
@Select("SELECT u.*, o.order_no FROM user u INNER JOIN orders o ON u.id = o.user_id")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "orderNo", column = "order_no")
})
List<UserOrderDTO> getUserOrder();
}
```
上述示例中,使用了 `@Select` 注解和 `@Results` 注解来编写 SQL 和结果映射。
需要注意的是,以上示例中的 `UserOrderDTO` 是一个自定义的类,用于封装查询结果。你可以根据实际情况自定义 DTO 类来适配查询结果。
希望对你有帮助!如有其他问题,请继续提问。
阅读全文