一、直接对单个对象的保存
1.判断要保存的对象是否为空,为空提示参数错误
2.将保存的字段set 或put到数据表中
3.判断是否保存成功->提示相应信息
/** * 添加种植信息 * * @param plant 种植信息实体 * @return */ @POST public HashMap addField(Plant plant) { if (plant == null) {//如果种植信息实体为空 返回参数错误 return CommonUtils.getCodeMessage(false, "参数错误"); } plant.put("shop_id", SessionUtil.getShopId());//将店铺id put到种植信息中 boolean flag = plant.save();//保存种植信息 if (flag) {//如果成功 返回提示信息 return CommonUtils.getCodeMessage(true, "添加种植信息成功"); } else { return CommonUtils.getCodeMessage(false, "添加种植失败"); } }
二、批量保存
1.首先对于批量保存,判断集合List<X> X ,判断是否为空 或对应数据表中id等是否为空
2.既然是批量保存使用循环
2.1可以直接使用循环 ->为空 保存 ->不为空之心更新update 操作
2.2批量保存,可以在for循环,使用集合,把每次循环添加的add到定义的List集合中,最后判断是否成功。
3.最后返回提示信息
3.1如果返回的信息较明细,需要判断。返回类似于:部分保存成功、部分更新成功、全部保存成功、保存失败等。
/** * 保存种植信息 * * @param plantList 种植信息 * @return */ @PUT @Transaction public HashMap saveField(List<Plant> plantList) { if (plantList == null) {//如果种植信息集合为空 返回参数错误 return CommonUtils.getCodeMessage(false, "参数错误"); } boolean flag = true; for (Plant plant : plantList) {//循环 Object fieldId = plant.get("field_id");//获取田块id plant.set("shop_id", SessionUtil.getShopId());//set赋值 if (fieldId == null || (Integer)fieldId <=0) { flag = plant.save();//保存 } else { flag = plant.update();//更新 } if (!flag) {//失败跳出循环 break; } } if (flag) {//如果成功 返回提示信息 return CommonUtils.getCodeMessage(true, "保存成功"); } else { return CommonUtils.getCodeMessage(false, "保存失败"); } }