anyMach方法
//判断PCB码唯一性
boolean check = savePcbMapper.selectSavePcbList(null)
.stream()
.anyMatch(m -> m.getPcbCode().equals(savePcbVo.getPcbCode()));
if(check){
throw new IllegalArgumentException("请确保PCB码的唯一性");
}
判断你流里面的数据符合条件就返回true反之false
适用于判断数据库中的某一个字段的唯一性
当然还有一种方法---一开始我就是用的这个方法(虽然也能解决问题,但是要转list,个人感觉会麻烦点)
//判断PCB码唯一性
List<SavePcb> collect = savePcbMapper.selectSavePcbList(null)
.stream()
.filter(m -> m.getPcbCode().equals(savePcbVo.getPcbCode()))
.collect(Collectors.toList());
if(collect.size() != 0){
throw new IllegalArgumentException("请确保PCB码的唯一性");
}
通过筛选数据,如果存在标识数据库的那个数据不唯一
结尾:当然解决问题的方法有很多,就看自己怎么去运用