Lambda常用

查找类

获取某个实体记录

LambdaQueryWrapper<Entry> activitiesQuery = Wrappers.<Entry>lambdaQuery()
                .eq(Entry::getId, id)
                .eq(Entry::getDelFlag, "0")
                .last(" limit 1 ");

以实体里某个属性为KEY,实体为Value。
(v1, v2) -> v1):有重复的key,取第一个实体为Value。

Map<String, Entry> entryMap = entryList.stream().collect(Collectors.toMap(Entry::getId, v -> v, (v1, v2) -> v1));

以实体某个属性为KEY,另一个属性为Value

Map<String, String> entryMap = entryList.stream().collect(Collectors.toMap(Entry::getId, Entry::getName));

收集实体的某个属性的集合,去重

Set<String> fieldSet = entryList.stream().map(Entry::getType).collect(Collectors.toSet());

List转Set

Set<String> fieldSet = fieldList.stream().collect(Collectors.toSet());

数量去重

  long count = entryList.stream().map(Entry::getName).distinct().count();

删除

entryService.remove(Wrappers.<Entry>lambdaQuery().eq(Entry::getId, id));

更新

LambdaUpdateWrapper<Entry> updateWrapper = new LambdaUpdateWrapper<>();

updateWrapper.eq(Entry::getId, id).set(Entry::getNum, num).set(Entry::getUpdateTime, LocalDateTime.now());

entryService.update(null, updateWrapper );