mybatisplus进行多表联查
时间: 2023-11-12 16:57:44 浏览: 85
在MybatisPlus中进行多表联查,可以使用Wrapper或QueryWrapper来构建SQL语句。例如,假设有两个实体类User和Order,它们之间存在一对多的关系,可以使用如下代码进行联查:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", 1);
List<User> userList = userMapper.selectList(wrapper);
for (User user : userList) {
List<Order> orderList = orderMapper.selectList(new QueryWrapper<Order>().eq("user_id", user.getUserId()));
user.setOrderList(orderList);
}
```
其中,QueryWrapper的eq方法用于添加查询条件,selectList方法用于执行查询操作。在查询结果中,每个User对象都会包含一个Order列表。
相关问题
mybatisplus的多表联查
mybatisplus的多表联查可以通过使用Wrapper或者QueryWrapper来实现。其中Wrapper是一个抽象类,QueryWrapper是其子类,QueryWrapper可以用于构建查询条件,例如:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("user.id", "user.name", "order.order_no")
.eq("user.id", 1)
.leftJoin("order", "user.id = order.user_id");
List<Map<String, Object>> list = userMapper.selectMaps(wrapper);
```
上述代码中,我们使用QueryWrapper构建了一个查询条件,然后使用leftJoin方法进行左连接操作,最后使用select方法指定需要查询的字段。最终通过selectMaps方法返回一个List<Map<String, Object>>对象,其中每个Map对象代表一条记录,Map的key为字段名,value为字段值。
mybatisplus怎么多表联查
MyBatis-Plus提供了两种方式进行多表关联查询。第一种方式是使用MyBatis-Plus的SQL构建器(MPJLambdaWrapper),可以通过select、selectAs、leftJoin等方法进行多表关联查询。第二种方式是使用MyBatis-Plus提供的wrapper进行关联查询操作,可以通过QueryWrapper等方法进行多表关联查询。在使用这两种方式进行多表联查时,需要注意查询结果集映射的实体类和联表查询时selectJoinList()方法的第一个参数为查询结果集映射的实体类。同时,还需要注意联表查询时leftJoin()方法的三个参数:联入表实体、联入表关系字段、原表关系字段。
阅读全文