【问题标题】:edit/update java spring编辑/更新java spring
【发布时间】:2019-12-08 20:58:58
【问题描述】:

所以我可以创建一个新用户,但我被卡住了。如果我想更新某个用户的电子邮件怎么办?我用保存创建用户。有没有办法像这样更新它?

public User update(@RequestBody User user)

`

@ResponseBody
@PostMapping(value = "/api/users/create")
@ResponseStatus(HttpStatus.CREATED)
public User create(@RequestBody User user) {

    User newUser = new User();
    newUser.setUsername(user.getUsername());
    newUser.setEmail(user.getEmail());
    newUser.setPassword(bCryptEncoder.encode(user.getPassword()));

    user_dao.save(newUser);

    return newUser;
}

【问题讨论】:

  • 事务内部:dao.findById(userId).ifPresent(user -> user.setEmail(newEmail));。你得到持久化,然后更新它。

标签: java sql spring hibernate dao


【解决方案1】:

在您的服务中放置(覆盖)一个更新用户的方法:

public void updateUser(User user) {
    User entity = userRepository.findById(user.getId()).orElse(null);
    //Check if the intended record exists. If exists, update it..
    if (entity != null) {
        System.out.println("\nUpdating User- " + user.getUsername() + "\n");
        entity.setUsername(user.getUsername());
        entity.setUseremail(user.getUseremail());
        entity.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
    }
    // And finally save it...
    userRepository.save(entity);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多