@RequestMapping("/insert") //插入数据 public String save(ApartmentExchange apartmentExchange) throws ParseException { SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); apartmentExchange.setExchangeTime(sdf1.parse(apartmentExchange.getExchangeTimeStr().replaceAll("T"," "))); Student student = studentService.getById(apartmentExchange.getStuNum()); if (ObjectUtils.isEmpty(student.getDormitoryId())){ student.setDormitoryId(apartmentExchange.getNewApartmentId()); studentService.updateById(student); Dormitory dormitory = dormitoryService.getById(apartmentExchange.getNewApartmentId()); dormitory.setNum(dormitory.getNum()+1); dormitoryService.save(dormitory); }else { Dormitory dormitory = dormitoryService.getById(student.getDormitoryId()); dormitory.setNum(dormitory.getNum()-1); dormitoryService.updateById(dormitory); student.setDormitoryId(apartmentExchange.getNewApartmentId()); studentService.updateById(student); Dormitory dormitory1 = dormitoryService.getById(apartmentExchange.getNewApartmentId()); dormitory1.setNum(dormitory1.getNum()+1); dormitoryService.updateById(dormitory1); } return "redirect:list";
时间: 2023-06-26 19:06:02 浏览: 42
这段代码使用了Spring框架的@RequestMapping注解来指定处理HTTP请求的URL路径,即"/insert"。它定义了一个save方法,该方法接受一个ApartmentExchange对象作为参数,并尝试将字符串类型的交换时间字段转换为日期类型。
然后,它通过学生编号获取学生对象,如果学生的宿舍编号为空,就将新的宿舍编号设置为学生的宿舍编号,并将宿舍人数加1。否则,它将从旧宿舍中减去人数,将新宿舍加上人数,并将学生的宿舍编号更新为新宿舍编号。
最后,它返回"redirect:list",将页面重定向到列表页面。
相关问题
@RequestMapping("/insert") //插入数据 public String save(Notice notice) throws ParseException { SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date creatTime = sdf1.parse(notice.getAddTimeStr().replaceAll("T"," ")); notice.setAddTime(creatTime); noticeService.save(notice); return "redirect:list"; }请详细解释每一行代码
1. `@RequestMapping("/insert")`:这是Spring MVC中的注解,用于将请求映射到控制器方法。
2. `public String save(Notice notice) throws ParseException {`:这是控制器方法的声明,它接受一个Notice对象作为参数,并抛出ParseException异常。
3. `SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");`:创建一个SimpleDateFormat对象,用于将字符串转换为日期格式。
4. `Date creatTime = sdf1.parse(notice.getAddTimeStr().replaceAll("T"," "));`:将Notice对象中的字符串类型的时间字段(AddTimeStr)转换为日期格式,并存储在变量creatTime中。这里使用了字符串替换函数将"T"替换为空格,因为AddTimeStr是以ISO 8601格式表示的。
5. `notice.setAddTime(creatTime);`:将转换后的日期设置为Notice对象的AddTime字段。
6. `noticeService.save(notice);`:调用noticeService的save方法将Notice对象保存到数据库中。
7. `return "redirect:list";`:返回重定向到列表页面的字符串。这意味着,当insert请求完成后,它将重定向到另一个请求(list)并显示列表页面。
@RequestMapping("/add") //跳转添加页面 public String toAdd() { return "applyinfo/applyinfoAdd"; } @RequestMapping("/insert") //插入数据 public String save(Apply apply) throws ParseException { SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date creatTime = sdf1.parse(apply.getApplyTimeStr().replaceAll("T"," ")); apply.setApplyTime(creatTime); applyService.save(apply); return "redirect:list"; }请详细解释每一一行代码
好的,我来逐行解释一下这段代码的作用:
```
@RequestMapping("/add") //跳转添加页面
public String toAdd() {
return "applyinfo/applyinfoAdd";
}
```
这段代码是一个 GET 请求处理器方法,当用户发起 GET 请求到 /add 路径时,Spring MVC 会调用该方法。该方法返回一个字符串 "applyinfo/applyinfoAdd",表示跳转到名为 applyinfoAdd 的视图。
```
@RequestMapping("/insert") //插入数据
public String save(Apply apply) throws ParseException {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date creatTime = sdf1.parse(apply.getApplyTimeStr().replaceAll("T"," "));
apply.setApplyTime(creatTime);
applyService.save(apply);
return "redirect:list";
}
```
这段代码是另一个请求处理器方法,当用户发起 POST 请求到 /insert 路径时,Spring MVC 会调用该方法。该方法接收一个 Apply 对象作为参数,该对象包含了用户提交的申请信息。
接下来,代码通过 SimpleDateFormat 类将申请时间字符串转换为 Date 类型的对象 creatTime,并将其设置到申请对象 apply 中。
最后,该方法调用 applyService.save(apply) 方法将申请对象存储到数据库中,并返回一个重定向到 "/list" 路径的字符串,表示插入数据成功后跳转到申请信息列表页面。
希望这次解释能够帮到您。
阅读全文