请帮我优化以下sql判断 if!StringUtilsisEmptykeywords if!StringUtilsisEmptyworkshopCode TODO keywordsworkshopCode都不为空 sql+= AND flowworkshop_code= AND flowflow_name=;
优化后的SQL判断如下:
if (!StringUtils.isEmpty(keywords)) {
if (!StringUtils.isEmpty(workshopCode)) {
// keywords和workshopCode都不为空
sql += " AND flow.workshop_code=? AND flow.flow_name=?";
args.add(workshopCode);
args.add(keywords);
} else {
// keywords不为空,workshopCode为空
sql += " AND (flow.workshop_code=? OR flow.flow_name=?)";
args.add(keywords);
args.add(keywords);
}
} else if (!StringUtils.isEmpty(workshopCode)) {
// keywords为空,workshopCode不为空
sql += " AND flow.workshop_code=?";
args.add(workshopCode);
}
优化后的代码逻辑更加清晰,避免了嵌套的if语句,并且将共用的部分提取出来,减少了重复代码
原文地址: http://www.cveoy.top/t/topic/hQns 著作权归作者所有。请勿转载和采集!