Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编辑/更新JavaSpring_Java_Sql_Spring_Hibernate_Dao - Fatal编程技术网

编辑/更新JavaSpring

编辑/更新JavaSpring,java,sql,spring,hibernate,dao,Java,Sql,Spring,Hibernate,Dao,所以我可以创建一个新用户,但我被卡住了。如果我想更新某个用户的电子邮件,我该怎么做?我正在用save创建用户。有没有办法像这样更新它 public User update(@RequestBody User user) ` 在您的服务中放置(覆盖)一个更新用户的方法,如下所示: public void updateUser(User user) { User entity = userRepository.findById(user.getId()).orElse(null);

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

public User update(@RequestBody User user)
`

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

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);
}

事务内部:
dao.findById(userId).ifPresent(user->user.setEmail(newEmail))。您获得持久性,并对其进行更新。
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);
}