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语句动点小手术,如去掉多余的空格等,