sql语句异常

sql语句未修改前
List depts = deptService.listByIds(deptIds);
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 depts = deptService.listByIds(deptIds);
Map<Integer, String> deptsMap = depts.stream().collect(Collectors.toMap(Dept::getId, Dept::getName));
emps.forEach(emp -> emp.setDeptName(deptsMap.get(emp.getDeptId())));
}
2.image
成员变量不是数据库中的字段,则需要使用@TableField(exist = false)
exist表明为false否则sql会报错

posted on 2025-02-18 21:15  笙3146487032  阅读(7)  评论(0)    收藏  举报