我现在有一个搜索功能,用户会输入几种类型的关键字,怎么把他们写在一条查询语句中?????

解决方案 »

  1.   

    建议根据关键字的if判断来构造不同的sql语句,我就是这个样子实现的
      

  2.   

    select * from table where 类型=x1 and 类型=x2 and 类型=x3类似这样吧! 
      

  3.   

    // 基本sql语句
    StringBuffer sql = new StringBuffer("select * from table where 1=1 ");// 传过来的值是哪一个字段上的你应该知道
    String param1 = "字段一的值";
    String param2 = "字段二的值";
    ......// 存放字段的值
    List params = new ArrayList();if(字段一的值!=null){
        sql.append("and 字段一 = ? ");
        params.add(字段一的值);
    }
    if(字段二的值!=null){
        sql.append("and 字段二 like ? ");
        params.add(字段二的值);
    }// 查询的时候做个循环赋值
    for(params){
        preparedstatement.setObject(i+1,params.get(i));
    }
      

  4.   

    基本是就是那样做的,其实用IBATIS更简单。