在java的编程里非空判断少不了,比如最常用的,在方法里,判断参数有效性:
1、public String method(String a, Integer b){
// 1.
if(a == null) {
return null;
}
// 2.
if (a== null || "".equals(str)) {
return null;
}
}
2. public void method2(List<String> list){
if(list == null || list.size() == 0){
return;
}
}
在controller的方法里,比如更新,删除,插入时,判断参数是否为空,及时返回提示信息到页面,避免进行不必要的数据库的操作,(注意的一点:mybatis返回list的时候,数据库记录为空时不会返回null,所有不需要非空判断),例子如下:
/**
* 删除一条分组记录
* @param id
* @return
*/
@RequestMapping("/deleteGroup")
@ResponseBody
public ResultData<AgentGroup> deleteAgentGroup(String id){
ResultData<AgentGroup> resultData = new ResultData<AgentGroup>();
//校验参数
if(StringUtils.isEmpty(id)){
resultData.setNotice("分组编号不能为空!");
return resultData;
}
//校验记录是否允许删除
if(!agentGroupService.isGroupCanBeDeleted(id)){
resultData.setNotice("该分组下有Agent记录,不允许删除!");
return resultData;
}
boolean flag = false;
try{
flag = agentGroupService.deleteGroup(id);
if(flag){
resultData.setSuccess(true);
resultData.setNotice("删除分组成功!");
}else{
resultData.setNotice("删除分组失败!");
}
}catch(Exception e){
resultData.setNotice("删除分组异常!");
logger.error("删除分组遭遇异常!",e);
}
return resultData;
}
}