List list=new ArrayList();
list.add("a");
list.add("b");
list.add("cc");

String[] ar={"a","b","c"};请问如何实现啊?
select*from temp where id in ('a','b','c');

解决方案 »

  1.   

    List list=new ArrayList(); 
    list.add("a"); 
    list.add("b"); 
    list.add("cc"); String s = "from temp where id in(:values)";
    List result = session.createQuery(s).setParameterList("values", list).list(); 
      

  2.   


    public static void main(String[] args){
    String[] ar={"a","b","c"};
    StringBuffer idStr=new StringBuffer();
    for(int i=0;i<ar.length;i++){
    if(i==ar.length-1)
    idStr.append(ar[i]);
    else
    idStr.append(ar[i]+",");
    }
    String sql="select * from temp where id in ("+idStr.toString()+")";
    System.out.print(sql);
    }
      

  3.   


    List<String> list=new ArrayList<String>(); 
    list.add("a"); 
    list.add("b"); 
    list.add("cc"); StringBuffer sb = new StringBuffer("select * from temp where id in (");for(int i=0; i<list.size(); i++) {
       sb.append.("'").append(s).append.("'");
       if(i != list.size()-1) {
         sb.append(',')
       }
    }sb.append(')');ResultSet rs = stmt.executeQuery(sb.toString());