如何优雅的根据查询条件拼接sql

管理平台很多查询条件,需要根据不同的查询条件拼接sql比如a='xx'blike'xx'cisnull等。我知道用mybatis的话可以根据是否查询条件为空来拼接sql。但是用其他框架比如JFinal怎么更好的拼接,又能有效的防止sql注入?请前辈给个思路。谢谢
POPMUISE
浏览 317回答 2
2回答

慕斯王

Stringsql="select*fromuserwhere1=1";Listparams=newArrayList();if(!StringUtils.isEmpty(username)){sql+="andusernamelike?";params.add("%"+username+"%");}if(!StringUtils.isEmpty(email)){sql+="andemaillike?";params.add("%"+email+"%");}if(!StringUtils.isEmpty(company)){sql+="andcompanylike?";params.add("%"+company+"%");}if(status!=null){sql+="andstatus=?";params.add(status);}if(duestatus!=null){if(duestatus==1){sql+="anddate(duedate)date(now())";}}sql+="orderbyregdatedesc";returndb().findList(sql,page,size,params.toArray());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript