mybatis-plus 如何连表查询
时间: 2024-05-28 13:06:41 浏览: 106
Mybatis-plus提供了多种方式进行表的连查,以下是其中几种常用的方式:
1. 使用@TableName注解对实体类进行配置,在实体类中定义相关字段,使用自定义SQL查询语句实现表的连查。
2. 使用Mybatis-plus提供的Wrapper API,例如使用QueryWrapper或LambdaQueryWrapper,这两个类都提供了链式调用方式,可以轻松实现表的连查。
3. 使用Mybatis-plus提供的Mapper API,例如使用BaseMapper中的selectJoin方法进行表的连查。
下面是使用QueryWrapper实现两张表的内连接查询示例代码:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.id","user.name","user.age","order.order_no","order.order_price")
.eq("user.id",1)
.eq("order.user_id",1)
.inSql("order.order_no","select order_no from order where order_price > 100");
queryWrapper.last("limit 1");
List<Map<String, Object>> result = userMapper.selectMaps(queryWrapper);
```
以上代码演示了如何在用户表和订单表之间进行内连接查询,查询结果中返回了用户id、姓名、年龄以及订单号和订单价格,查询条件包括用户id和订单用户id相等,并且订单价格大于100的订单号。
阅读全文