Mybatis-PLUS之lambdaQueryWrapper和LambdaUpdateWrapper
阿新 • • 發佈:2022-05-31
1、mybatis-plus依賴中介面類IService中有這樣一個方法
default List<T> list(Wrapper<T> queryWrapper) { return this.getBaseMapper().selectList(queryWrapper); }
2、lambdaQueryWrapper寫法
LambdaQueryWrapper<實體類> lambda= Wrappers.lambdaQuery(實體類.class); lambda.eq(實體類::get實體類欄位, 入參) .orderByAsc(實體類::get實體類欄位) .select(實體類::get實體類欄位, 實體類::get實體類欄位);
3.LambdaUpdateWrapper寫法
LambdaUpdateWrapper<實體類> lambda = Wrappers.lambdaUpdate(實體類.class); lambda.set(實體類::getName, "張三") .eq(實體類::getId, id); this.update(lambda);//提交
4.SeviceImpl中可以用上面的連個合併返回List(Service層要繼承IService,ServiceImpl要繼承SerivceImpl)
List<實體類> list = this.list(lambda);
5.list轉化
1.list轉set: List notifications= userMapper.selectByExample(userExample); Set<Long> disUserIds = notifications.stream().map(notify -> notify.getNotifier()).collect(Collectors.toSet()); 2.list轉map List users = userMapper.selectByExample(userExample); //轉化成map Map<Long, User> userMap = users.stream().collect(Collectors.toMap(u -> u.getId(), u -> u));