
1. 源代码块
@Override
public int saveModel(String CraneModel, String UserId) {
List<ModelaSelection> modelaSelections = queryAll(UserId);
ModelaSelection modelaSelection = new ModelaSelection();
modelaSelection.setUserId(UserId);
modelaSelection.setCraneModel(CraneModel);
//不同时
for (ModelaSelection selection : modelaSelections) {
if (!selection.getCraneModel().equals(CraneModel)){
return modelaSelectionMapper.insert(modelaSelection);
}
}
return 0;
}
2.数据库表结构
数据库中 Crane_model字段与UserId字段为主键,上面代码块的含义为对输入的CraneModel进行判断,如果这个用户之前没有参数传入的Crane_model,那么就会执行插入 *** 作,可见数据库中这个表为空.
3.执行结果 4.出现BUG 5.解决方法 @Override
public int saveModel(String CraneModel, String UserId) {
List<ModelaSelection> modelaSelections = queryAll(UserId);
ModelaSelection modelaSelection = new ModelaSelection();
modelaSelection.setUserId(UserId);
modelaSelection.setCraneModel(CraneModel);
//数组为空时
if (modelaSelections.size()==0)
{
return modelaSelectionMapper.insert(modelaSelection);
}
//不同时
for (ModelaSelection selection : modelaSelections) {
if (!selection.getCraneModel().equals(CraneModel)){
return modelaSelectionMapper.insert(modelaSelection);
}
}
return 0;
}
这里我做了一次数组为空的判断问题就解决了,总结就是如果数组为空时for循环代码块不会执行,得在循环之前家一次判断
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)