这是我在数据库中保存表单数据的 Controller :
@RequestMapping(value = "/user/newUser", method = RequestMethod.POST)
public ModelAndView createNewSurvey(@Valid User user, BindingResult bindingResult) {
ModelAndView modelAndView = new ModelAndView();
userService.saveUser(user);
modelAndView.addObject("successMessage", "Added user!");
modelAndView.addObject("user", new User());
modelAndView.setViewName("user/newUser");
return modelAndView;
}
调用 saveUser 后,如何在该 Controller 中获取为该用户生成的 ID,以便我可以使用它来调用另一个函数? 谢谢
编辑:
用户服务实现:
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public void saveUser(User user) {
userRepository.save(user);
}
最佳答案
试试下面的方法让我知道它是否适合你
@Override
public User saveUser(User user) {
return userRepository.save(user);
}
还更改接口(interface)方法以在 UserService 接口(interface)中返回用户
public User saveUser(User user);
然后在 Controller 中从返回的 UserObject 中调用 getId()
User newUser = userService.saveUser(user);
newUser.getId();
关于java - 从 Controller 中的最后一次插入中获取生成的 Id,Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46516950/