上面有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;
这是我写的其中一个默认查询的方法》。。

解决方案 »

  1.   

    本来就应该是一个
    String sql="select * from tableName where 1=1";
    if(!条件1.equals(""))
    {
    sql+="字段1="+条件1
    }
    .。。

    类似
      

  2.   

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

  3.   

    前台选择不同的单选按钮,那么传入后台的值必然不同。这样可以根据值的不同,动态的拼SQL语句就可以了。
    很简单的。
      

  4.   

    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+"' " );
            if(order_id!="") {
              sql.append (" and order_id = "+ order_id);
            }
            if(goodsname!=""){
             sql.append(" and goodsname = "+goodsname);
            }
            if(starttime & endtime!=""){ {时间这里不会写了}
            
            }
            List<DynaBean> list = DataBaseOperator.queryList(sql.toString());
    jsonArray = JsonUtil.listDynaBeanToJson(list);
            return jsonArray;
           
    }