11-mybatis的嵌套查询

 

 

1、以前是多个表相连接,使用collection做属性对象

2、现在是但个查表,另一个也单个查表。并使用 collection 来封装属性,给值

查询部门

查询员工:这个作为上图中的collection中的property属性

 

配置延迟加载,需要使用查询的时候就加载

MyBatis-Plus支持嵌套查询,可以通过嵌套查询来处理复杂的数据库查询逻辑。在使用MyBatis-Plus进行嵌套查询时,你需要使用实体类的关联属性来定义嵌套查询的条件。 下面是一个示例,演示如何使用MyBatis-Plus进行嵌套查询: 假设有两个实体类:User和Order,User实体类中包含了一个List类型的属性orders,表示一个用户可以有多个订单。 ```java public class User { private Integer id; private String name; private List<Order> orders; // 省略getter和setter方法 } public class Order { private Integer id; private String orderNo; private Integer userId; // 省略getter和setter方法 } ``` 在进行嵌套查询时,你可以使用MyBatis-Plus提供的Wrapper类来定义查询条件。例如,如果你想查询用户名为"John"的用户及其对应的订单,可以按以下方式编写代码: ```java QueryWrapper<User> userWrapper = new QueryWrapper<>(); userWrapper.eq("name", "John"); List<User> userList = userMapper.selectList(userWrapper); for (User user : userList) { QueryWrapper<Order> orderWrapper = new QueryWrapper<>(); orderWrapper.eq("user_id", user.getId()); List<Order> orderList = orderMapper.selectList(orderWrapper); user.setOrders(orderList); } ``` 在上述代码中,首先使用userWrapper定义了查询条件,然后通过userMapper.selectList方法查询满足条件的用户列表。接着,使用orderWrapper定义了嵌套查询的条件(即根据用户ID查询订单),并通过orderMapper.selectList方法查询满足条件的订单列表。最后,将订单列表设置到用户对象的orders属性中。 这样,你就可以通过嵌套查询来获取满足特定条件的用户及其对应的订单了。当然,具体使用方式还可以根据你的需求做一些调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值