sql语句未修改前
List
Map<Integer, String> deptsMap = depts.stream().collect(Collectors.toMap(Dept::getId, Dept::getName));
emps.forEach(emp -> emp.setDeptName(deptsMap.get(emp.getDeptId())));
报错原因:
当传入的参数deptIds为空时SQL语句的条件为where id in()从而导致语句错误
执行前应该对参数进行判断
if (!deptIds.isEmpty()){
List
Map<Integer, String> deptsMap = depts.stream().collect(Collectors.toMap(Dept::getId, Dept::getName));
emps.forEach(emp -> emp.setDeptName(deptsMap.get(emp.getDeptId())));
}
2.
成员变量不是数据库中的字段,则需要使用@TableField(exist = false)
exist表明为false否则sql会报错
