【发布时间】:2020-04-09 13:19:42
【问题描述】:
我有 2 个 IF。如果没有 1,对我有用。因为如果数据存在并且得到家务== null,我不会。用于更新条件、状态和内务管理的操作。
If(getData.isPresent() && bulkUpdate.getHouseKeeping() == null)
如果没有 2,对我来说没有工作。如果 getData 存在并且得到家政服务可用/不为空,我不会。仅用于更新条件的操作
else if(getData.isPresent() && bulkUpdate.getHouseKeeping() != null)
只检查'null',而不检查'not null'。我不会检查 null 而不是 null 对我有用
注意:getData.isPresent = 整数,getHouseKeeping = 日期
完整代码:
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date today = sdf.parse(sdf.format(now));
RoomBoy updatedData = request.getPayload();
Optional<RoomBoy> getData = roomBoyRepository.findByIdAndHouseKeeping(updatedData.getId(), updatedData.getHouseKeeping());
if(getData.isPresent() && updatedData.getHouseKeeping() == null ) {
RoomBoy oldData = getData.get();
oldData.setCondition(updatedData.getCondition());
oldData.setStatus("Done");
oldData.setHouseKeeping(today);
roomBoyRepository.saveAndFlush(oldData);
status.setStatusCode("000");
status.setStatusDesc("Success");
}else if(getData.isPresent() && updatedData.getHouseKeeping() != null){
RoomBoy oldData = getData.get();
oldData.setCondition(updatedData.getCondition());
roomBoyRepository.saveAndFlush(oldData);
status.setStatusCode("000");
status.setStatusDesc("Success");
}else{
status.setStatusCode("001");
status.setStatusDesc("Data Not Found");
}
【问题讨论】:
-
if( getData.isPresent()){ if( bulkUpdate.getHouseKeeping() == null) { ... }else{ ... } 这是你要找的吗?
-
你可以添加答案
-
当然。那是你要找的吗?否则,您可以用简单的术语写出您期望的条件。另外 isPresent() 的 yes 条件是什么,它是否大于 0 ?
-
如果你想同时检查两个条件,去掉'else'
-
请再次查看我的提问帖,我添加完整代码
标签: java mysql sql spring spring-data-jpa