web开发中的多条件查询处理技巧1则

web开发中的多条件查询处理技巧1则

select * from t_test where f1=#param1# and (f2>#param2# or f3<#param3#)

如果输入参数为空,则相应的条件用恒等式代替,如1>0

当param2为空时(null或“”)

上述语句变为

select * from t_test where f1=#param1# and (1>0 or f3<#param3#)



这样就不用关心括号,and ,or了,
只要一开始把条件都写全就OK了


sql = "select * from t_test where f1=#param1# and (1>0 or f3<#param3#)";
sql.replaceAll("#param_name#",request.getParameter("param_name").trim());

在此之前还得把输入的SQL语句动点小手术,如去掉多余的空格等,

原文地址:https://www.cnblogs.com/zerogo/p/2209118.html