问题描述
基于mybatis-plus自动生成模板,使用updateById 方法修改数据库时报错
@Override
public int updateTime() {
QueryWrapper<PolicyNew> queryWrapper = new QueryWrapper();
List<PolicyNew> list = policyNewMapper.selectList(queryWrapper);
list.forEach(e->{
if(e.getPublishDate().matches("\\d{4}年\\d{2}月\\d{2}日")){
String str= e.getPublishDate().replaceAll("[\\u4E00-\\u9FA5]","-");
e.setPublishDate(str.substring(0, str.length() - 1));
}
if (!e.getPublishDate().equals("") && !e.getPublishDate().equals("None")){
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
String date = null;
try {
date = sdf.format (sdf.parse (e.getPublishDate()));
} catch (ParseException ex) {
throw new RuntimeException(ex);
}
e.setPublishDate(date);
}
System.out.println("e = " + e);
policyNewMapper.updateById(e);
});
return 0;
}
解决方案:
实体类主键id缺少@TableId注解