我现在要用java连接数据库查询这样一个sql
select * from tablename where id=list.get(0) or id=list.get(1) ... or id=list.get(list.length()-1) ;
这ResultSet里面应该怎么写
------解决思路----------------------
既然你能成功用Integer类型取到bigint类型的id,应该就没溢出,这样应该可以,试试咯
------解决思路----------------------
楼主 ,你要循环读取list数据拼接sql的话,办法是很多的,我就写了个最容易想到的给你
class ConnectJDBC{
public void connectMySql(){
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
String str1="select * from userdata where id in(";
StringBuffer sb=new StringBuffer();
for(int i=0;i<list.size();i++){
sb.append(list.get(i)+",");
}
String str2=sb.toString();
str2=str2.substring(0,str2.length()-1);
String str3=")";
String sql=str1+str2+str3;
String url="jdbc:mysql://localhost:3306/test";
String username="root";
String password="root";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getInt("id"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}