mybatisplus多表关联查询
时间: 2023-11-17 13:03:41 浏览: 108
MybatisPlus是一个优秀的ORM框架,它提供了很多便捷的操作数据库的方法。在多表关联查询方面,MybatisPlus提供了两种解决方案:一种是继续使用MyBatis提供XML文件解决方式;另一种是使用MybatisPlus提供的Lambda表达式方式。使用Lambda表达式方式可以充分利用IDE对Lambda表达式的支持,在编译期间完成对代码的检查,使得业务逻辑更加清晰,可维护性、可修改性优势明显。同时,使用MybatisPlus进行多表关联查询,一次查询需要访问至多两次数据库,时间复杂度为o(1),主键查询或者索引查询,查询效率高。
下面是使用MybatisPlus进行多表关联查询的示例代码:
```java
//定义两个实体类
public class User {
private Long id;
private String name;
private Integer age;
//省略getter和setter方法
}
public class Order {
private Long id;
private Long userId;
private String orderNo;
//省略getter和setter方法
}
//定义两个Mapper接口
public interface UserMapper extends BaseMapper<User> {
}
public interface OrderMapper extends BaseMapper<Order> {
}
//使用Lambda表达式进行多表关联查询
public List<User> selectUserAndOrder() {
return new LambdaQueryChainWrapper<>(userMapper)
.select(User::getId, User::getName, User::getAge, Order::getOrderNo)
.leftJoin(Order.class, Order::getUserId, User::getId)
.list();
}
```
阅读全文