Java 从控制器Spring中的最后一次插入获取生成的Id
这是我的控制器,用于将表单数据保存在数据库中:Java 从控制器Spring中的最后一次插入获取生成的Id,java,spring,spring-boot,Java,Spring,Spring Boot,这是我的控制器,用于将表单数据保存在数据库中: @RequestMapping(value = "/user/newUser", method = RequestMethod.POST) public ModelAndView createNewSurvey(@Valid User user, BindingResult bindingResult) { ModelAndView modelAndView = new ModelAndView(); userService.sav
@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后,如何获取该控制器中该用户的生成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);
}
还更改接口方法以在UserService接口中返回用户
public User saveUser(User user);
然后在控制器中,只需从返回的UserObject调用getId()
User newUser = userService.saveUser(user);
newUser.getId();
您能在userService和用于保存用户的dao中发布代码吗?此外,在您的实体中,您如何生成Id,使用什么策略,即@GeneratedValue(strategy=GenerationType.AUTO)?我添加了服务实现。是的@Id@GeneratedValue(strategy=GenerationType.AUTO)是我生成它的方式