public int adjustRoomUpdate(AdjustRoom adjustRoom) { String username = adjustRoom.getUsername(); int towardsRoomId = adjustRoom.getTowardsRoomId(); String towardsBedName = JudgeBedName.getBedName(adjustRoom.getTowardsBedId()); DormRoom dormRoom2 = dormRoomMapper.selectById(towardsRoomId); int currentCapacity2 = calNum(dormRoom2); UpdateWrapper uw2 = new UpdateWrapper(); uw2.eq("dormroom_id", towardsRoomId); uw2.set(towardsBedName, username); uw2.set("current_capacity", currentCapacity2 + 1); int result2 = dormRoomMapper.update(null, uw2); return result2; }
时间: 2024-03-18 12:43:24 浏览: 8
这是一个 Java 方法,它的作用是对宿舍房间的床位进行调整,并将调整结果更新到数据库中。具体实现过程如下:
1. 从参数 `adjustRoom` 中获取用户名和目标房间的 ID 和床位 ID。
2. 根据目标房间的 ID 从数据库中查询该房间的信息,并计算当前房间的使用情况。
3. 创建一个 UpdateWrapper 对象,用于更新数据库中的宿舍房间信息。
4. 设置 UpdateWrapper 的查询条件为目标房间的 ID,将目标床位对应的字段设置为当前用户的用户名。
5. 将该房间的当前使用情况设置为原来的使用情况加上 1。
6. 调用 dormRoomMapper 的 update 方法,将更新后的信息保存到数据库中,并返回更新结果。
该方法实现了对宿舍房间床位的调整,并将调整结果保存到数据库中。
相关问题
else if (e.getSource().equals(login)) { String id=jt1.getText(); String username = jt2.getText(); String password = String.valueOf(jpf.getPassword()); // 遍历所有学生信息,判断输入的用户名和密码是否匹配 boolean isMatched = false; for (Student student : students) { if (username.equals(student.getUserName()) && password.equals(String.valueOf(student.getPassword()))&&id.equals(student.getId())) { isMatched = true; break; } }修改代码
在对所有学生信息进行遍历之前,您可以先进行一些输入验证,比如判断输入框是否为空。另外,您可以把判断逻辑封装成一个方法,以提高代码可读性和复用性。修改后的代码如下所示:
```
else if (e.getSource().equals(login)) {
String id = jt1.getText();
String username = jt2.getText();
String password = String.valueOf(jpf.getPassword());
// 输入验证
if (id.isEmpty() || username.isEmpty() || password.isEmpty()) {
JOptionPane.showMessageDialog(this, "请输入完整信息!", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
// 判断用户名、密码和ID是否匹配
boolean isMatched = isStudentMatched(id, username, password);
if (isMatched) {
JOptionPane.showMessageDialog(this, "登录成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "用户名、密码或ID错误!", "提示", JOptionPane.WARNING_MESSAGE);
}
}
// 判断学生信息是否匹配
private boolean isStudentMatched(String id, String username, String password) {
for (Student student : students) {
if (id.equals(student.getId()) && username.equals(student.getUserName()) && password.equals(String.valueOf(student.getPassword()))) {
return true;
}
}
return false;
}
```
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
`@RequiredArgsConstructor(access = AccessLevel.PRIVATE)`是Lombok注解之一,用于自动生成一个包含所有非final和非transient字段的构造函数。在这个例子中,生成的构造函数将具有私有访问级别。
下面是一个示例代码,演示了如何使用`@RequiredArgsConstructor(access = AccessLevel.PRIVATE)`注解:
```java
import lombok.RequiredArgsConstructor;
import lombok.NonNull;
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class RequiredArgsDemo3 {
private Long id;
@NonNull private String username;
public static void main(String[] args) {
RequiredArgsDemo3 demo = new RequiredArgsDemo3("John");
System.out.println(demo.getUsername()); // 输出:John
}
}
```
在上面的示例中,我们使用`@RequiredArgsConstructor(access = AccessLevel.PRIVATE)`注解来生成一个私有构造函数,该构造函数接受一个`String`类型的参数`username`。我们还使用`@NonNull`注解来标记`username`字段为非空。
通过使用生成的私有构造函数,我们可以创建一个`RequiredArgsDemo3`对象,并传入一个`String`类型的参数`username`。在`main`方法中,我们创建了一个名为`demo`的对象,并打印了它的`username`字段的值。