mybatisPlus使用LambdaQueryWrapper

         平常我们在使用mybatisPlus经常会使用这种语句。

        

QueryWrapper<MessageAuxEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("to_id", messageCreateReqDTO.getTo_id());
        queryWrapper.eq("to_type_id", messageCreateReqDTO.getTo_type_id());

       但是这里直接写列名,很容易写错,这个时候可以使用LambdaQueryWrapper,防止写错

LambdaQueryWrapper<MessageAuxEntity> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(MessageAuxEntity::getToId, messageCreateReqDTO.getTo_id())
                    .eq(MessageAuxEntity::getToTypeId, messageCreateReqDTO.getTo_type_id());

      这里变成了方法引用,肯定就不会出错了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用LambdaQueryWrapper的`listObjs`方法来查询数据库中所有符合条件的记录的某一个字段,并将这些字段值放入一个数组中。具体实现方法如下: ``` List<YourEntity> list = new LambdaQueryWrapper<YourEntity>() .select(YourEntity::getId) .listObjs(YourEntity::getId); ``` 或者 ``` List<Integer> ids = new LambdaQueryWrapper<YourEntity>() .select(YourEntity::getId) .listObjs(YourEntity::getId); ``` 如果需要根据特定条件查询,可以在LambdaQueryWrapper对象上面使用各种条件方法进行筛选. ``` List<Integer> ids = new LambdaQueryWrapper<YourEntity>() .eq(YourEntity::getStatus, 1) .select(YourEntity::getId) .listObjs(YourEntity::getId); ``` 这里的`listObjs(YourEntity::getId)`表示取出符合条件记录中id字段的值,并将这些值放入数组中返回。 ### 回答2: 使用LambdaQueryWrapper查询时,可以使用select方法指定需要查询的字段,并将查询结果映射为实体类对象。在查询结果中获取到id字段后,可以使用stream()方法将结果转换为流,然后使用mapToInt方法将id映射为整数流,并调用toArray方法将整数流转换为数组。具体操作如下: ``` List<Entity> entityList = new LambdaQueryWrapper<Entity>() .select(Entity::getId) // 指定查询的字段 .eq(Entity::getStatus, "1") // 添加查询条件 .list(); int[] idArray = entityList.stream() .mapToInt(Entity::getId) // 将id映射为整数流 .toArray(); // 转换为数组 ``` 其中,Entity为实体类,getId为实体类中id字段对应的getter方法。通过select方法指定需要查询的字段,eq方法添加查询条件,list方法执行查询操作并将查询结果放入entityList中。 接下来,使用stream方法将entityList转换为流,mapToInt方法将实体类对象映射为整数流,toArray方法将整数流转换为int数组。 最后,idArray中就存储了查询结果中所有的id。 ### 回答3: 使用LambdaQueryWrapper查询时,可以通过select方法指定要查询的字段,然后使用List的stream流进行map操作,将查询结果中所有的id放入数组中。 具体操作如下: 1. 使用LambdaQueryWrapper进行查询操作,可以使用select方法指定要查询的字段,如select("id")。 ```java LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(Entity::getId); ``` 2. 执行查询操作,获取查询结果的List。 ```java List<Entity> resultList = entityMapper.selectList(queryWrapper); ``` 3. 使用stream流对查询结果中的id进行提取,并放入数组中。 ```java List<Integer> idList = resultList.stream().map(Entity::getId).collect(Collectors.toList()); ``` 最后,idList就是包含查询结果中所有id的数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值