springboot中根据id更新用户信息

根据查询到详情,进行回想到弹窗,然后修改信息,保存更新用户信息

实现效果

请添加图片描述

在这里插入图片描述
在这里插入图片描述

代码实现

  • controller代码
/**
     * 修改员工
     */
    @PutMapping
    public Result update(@RequestBody Emp emp) {
        log.info("修改员工操作 {}", emp);
        empService.update(emp);
        return Result.success();
    }
  • mapper代码
    <!--更新员工-->
    <update id="update">
        update emp
        <set>
            <if test="username != null and username != ''">
                username = #{username},
            </if>
            <if test="password != null and password != ''">
                password = #{password},
            </if>
            <if test="name != null and name != ''">
                name = #{name},
            </if>
            <if test="gender != null">
                gender = #{gender},
            </if>
            <if test="image != null and image != ''">
                image = #{image},
            </if>
            <if test="job != null">
                job = #{job},
            </if>
            <if test="entrydate != null">
                entrydate = #{entrydate},
            </if>
            <if test="deptId != null">
                dept_id = #{deptId},
            </if>
            <if test="updateTime != null">
                update_time = #{updateTime},
            </if>
        </set>
        where id = #{id}
    </update>
  • service代码
@Override
public void update(Emp emp) {
      emp.setUpdateTime(LocalDateTime.now());
      empMapper.update(emp);
}

需要更新下修改时间

这样我们就实现了,更新用户信息的操作

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot,可以使用JPA(Java Persistence API)或者MyBatis等ORM框架来更新数据。 下面以JPA为例,演示根据ID更新数据的方法。 1. 定义实体类 ```java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; // getter/setter省略 } ``` 2. 定义Repository接口 ```java public interface UserRepository extends JpaRepository<User, Long> { } ``` 3. 编写更新方法 ```java @Service public class UserService { @Autowired private UserRepository userRepository; public User updateUserById(Long id, User user) { Optional<User> optional = userRepository.findById(id); if (optional.isPresent()) { User existUser = optional.get(); existUser.setUsername(user.getUsername()); existUser.setPassword(user.getPassword()); return userRepository.save(existUser); } return null; } } ``` 在更新方法,首先通过id查询出要更新的数据,然后将传入的user对象的数据更新到查询出的数据,最后调用JpaRepository的save方法保存更新后的数据。 4. 测试更新方法 ```java @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceTest { @Autowired private UserService userService; @Test public void testUpdateUserById() { User user = new User(); user.setUsername("test"); user.setPassword("123456"); User savedUser = userService.saveUser(user); // 先保存一个用户 User updateUser = new User(); updateUser.setUsername("update"); updateUser.setPassword("update123"); User updatedUser = userService.updateUserById(savedUser.getId(), updateUser); // 更新用户数据 Assert.assertEquals("update", updatedUser.getUsername()); // 断言更新后的用户名为"update" Assert.assertEquals("update123", updatedUser.getPassword()); // 断言更新后的密码为"update123" } } ``` 在测试方法,先保存一个用户数据,然后通过更新方法更新该用户的数据,并断言更新后的数据是否正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值