日期:2014-05-17  浏览次数:20695 次

请高手来指教下这个应该怎么写呀

上面有3个条件查询(按日期查询,按名称查询,按订单号查询)与一个当页面打开的默认查询展现,但是我觉的上面的3个条件查询可以在后台的类下写成一个方法,不用写成4个查询方法,我想知道用IF可以吗?如果可以那应该怎么写呢?
public static JSONArray getOrderEmerge(HttpServletRequest request){
  JSONArray jsonArray = null;
  String developer_user_id =StringUtil.getRequestString(request, "developer_user_id");
  String order_id = StringUtil.getRequestString(request, "a.order_id");
  String createtime = StringUtil.getRequestString(request, "a.createtime");
  String user_gader = StringUtil.getRequestString(request, "b.shopping_number");
  String unitprice = StringUtil.getRequestString(request, "b.unitprice");
  String totalprice = StringUtil.getRequestString(request, "b.totalprice");
  String trade_price = StringUtil.getRequestString(request, "b.trade_price");
  String trade_total = StringUtil.getRequestString(request, "b.trade_total");
  String goodsname = StringUtil.getRequestString(request, "goodsname");
  String ISSEND = StringUtil.getRequestString(request, "issend");
  String user_grade = StringUtil.getRequestString(request, "user_grade");
  StringBuffer sql = new StringBuffer ("select a.order_id,a.createtime,a.user_grade,b.shopping_number,b.unitprice,b.ISSEND, b.totalprice,b.trade_price,b.trade_total,b.goodsname from orderr a join order_info bon a.order_id = b.order_id where 1 = 1 and developer_user_id = '"+developer_user_id+"' " );
  List<DynaBean> list = DataBaseOperator.queryList(sql.toString());
  jsonArray = JsonUtil.listDynaBeanToJson(list);
  return jsonArray;
这是我写的其中一个默认查询的方法》。。


------解决方案--------------------
本来就应该是一个

Java code

String sql="select * from tableName where 1=1";
if(!条件1.equals(""))
{
sql+="字段1="+条件1
}
.。。
。。。
类似

------解决方案--------------------
可以的,你通过获取到的前台的数据,然后动态拼接sql的查询条件就是了。