与吴聪聪老师的tk.mybatis类似,insert时,不需要手写返回主键id,controller层insert的商品就有了数据库对应的id

    1. // 添加商品
    2. @PostMapping("/upload")
    3. public String upload(Product product, @RequestParam("imgs") CommonsMultipartFile img, HttpServletRequest req)
    4. throws IllegalStateException, IOException {
    5. String uuid = UUID.randomUUID().toString();
    6. String uploadDire = PropertiesUtil.getkey("upload.dir");// 文件存放的路径
    7. // System.out.println("uploadDire=" + uploadDire);
    8. String productimg = uuid + "-" + img.getOriginalFilename();
    9. // System.out.println("productimg=" + productimg);
    10. String imgdest = uploadDire + productimg;
    11. // System.out.println("imgdesrt=" + imgdest);
    12. img.transferTo(new File(imgdest));
    13. product.setImg(productimg);
    14. product.setCreatetime(new Date());
    15. String token = super.getCookieVal(req, "token");
    16. System.out.println("token=" + token);
    17. // 根据request拿到当前userid
    18. SysUser sysUser = JwtUtils.getObject(token, SysUser.class);
    19. System.out.println("sysUser.id=" + sysUser.getId());
    20. product.setUserid(sysUser.getId());
    21. int i = productService.insertProduct(product);// 添加商品
    22. System.out.println("商品添加返回的id" + product.getId());
    23. //为每一个insert的商品开辟一个room
    24. Room room = new Room();
    25. room.setCreatetime(product.getCreatetime());
    26. room.setEndtime(product.getEndtime());
    27. room.setProductid(product.getId());
    28. room.setState(1);
    29. roomService.insertRoom(room);
    30. System.out.println("room添加返回的id" + room.getId());
    31. return "redirect:/moon/Product/selectProductByid?id=" + product.getId();
    32. }
    1. public int insertRoom(Room room) {
    2. return roomMapper.insert(room);
    3. }
    4. // 修改
    5. public int updateProduct(Product product) {
    6. return productMapper.updateByPrimaryKey(product);
    7. }