Java 通过传递用户ID列表更新多个用户
我试图通过将用户ID列表作为参数传递来更新一些用户信息 我想更新正在传递用户ID的用户fo的isActive字段。 下面是我的控制器Java 通过传递用户ID列表更新多个用户,java,spring-boot,Java,Spring Boot,我试图通过将用户ID列表作为参数传递来更新一些用户信息 我想更新正在传递用户ID的用户fo的isActive字段。 下面是我的控制器 @PutMapping @ResponseStatus(HttpStatus.OK) @RequestMapping("/UserUpdate") public ResponseEntity<?> updateUsers(List<Long> userIds) { **userService.upd
@PutMapping
@ResponseStatus(HttpStatus.OK)
@RequestMapping("/UserUpdate")
public ResponseEntity<?> updateUsers(List<Long> userIds) {
**userService.updateUsers(userIds);**
return ResponseEntity.ok(200);
}
//为简洁起见删除了getter和setter或者,您可以使用以下代码
@Modifying
@Query("update Users u set u.isActive = ?1, u.userName = ?2 where u.userId in ?3")
void updateUsers(Long isActive, String userName, List<Long> userId);
修改
@查询(“更新用户u设置u.isActive=?1,u.userName=?2,其中u.userId在?3中”)
void updateUsers(长i活动,字符串用户名,列表用户名);
在用户存储库中添加此代码并使用此方法。public void updateUsers(列出用户ID){
public void updateUsers(List<Long> userIds) {
for (Long i : userIds) {
User user = userRepository.findById(i);
if(user != null){
user.setIsActive(9L);
user.setUserName("Update Test");
// call your update method here (this is not stated in your code)
}
}
}
for(长i:userid){
User=userRepository.findById(i);
如果(用户!=null){
用户设置激活(9L);
user.setUserName(“更新测试”);
//在此处调用更新方法(代码中没有说明)
}
}
}
不,这是一个糟糕的方法@RajR背后有什么原因吗
@Entity
@Table(name="USERS")
public class Users {
@Id
@Column(name="USER_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long userId;
@Column(name="NAME")
private String userName;
@Column(name="ACTIVE")
private Long isActive;
@Modifying
@Query("update Users u set u.isActive = ?1, u.userName = ?2 where u.userId in ?3")
void updateUsers(Long isActive, String userName, List<Long> userId);
public void updateUsers(List<Long> userIds) {
for (Long i : userIds) {
User user = userRepository.findById(i);
if(user != null){
user.setIsActive(9L);
user.setUserName("Update Test");
// call your update method here (this is not stated in your code)
}
}
}