99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-18 閱讀量: 964
如何優(yōu)雅的根據(jù)查詢條件拼接sql

問題描述:

管理平臺很多查詢條件,需要根據(jù)不同的查詢條件拼接sql比如 a='xx' b like 'xx' c is null 等。我知道用mybatis的話可以根據(jù)是否查詢條件為空來拼接sql。但是用其他框架比如JFinal 怎么更好的拼接,又能有效的防止sql注入?

解決方法:

String sql = "select * from user where 1 = 1 ";
List<Object> params = new ArrayList<Object>();
if(!StringUtils.isEmpty(username)){
sql += " and username like ?";
params.add("%"+username+"%");
}
if(!StringUtils.isEmpty(email)){
sql +=" and email like ?";
params.add("%"+email+"%");
}
if(!StringUtils.isEmpty(company)){
sql +=" and company like ?";
params.add("%"+company+"%");
}
if(status != null){
sql += " and status = ?";
params.add(status);
}
if(duestatus != null){
if(duestatus == 1){
sql += " and date(duedate) < date(now())";
}else{
sql += " and date(duedate) > date(now())";
}
}
sql +=" order by regdate desc";
return db().findList(sql, page, size, params.toArray());

0.0000
3
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子