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 );