日期:2014-05-20  浏览次数:20746 次

请问jdbc批处理获得的结果集后怎么处理?
[code=Java][/code]
public   class   ProductDAOImpl   implements   ProductDAO   {
private   static   final   String   FIND_BY_IDS   =   "select   *   from   d_product   where   id=? ";
public   List <Product>   findById(List <Integer>   ids)   throws   Exception   {
List <Product>   pros   =   null;
Connection   conn   =   DBUtil.openConnection();
PreparedStatement   prep   =   conn.prepareStatement(FIND_BY_IDS);
for(int   i=0;i <ids.size();i++){//批处理
prep.setInt(1,   ids.get(i));
prep.addBatch();
}

/**int[]   rs请问怎么写*/   =   prep.executeBatch();
while(/**请问怎么写*/)   {
Product   pro   =   new   Product();
pro.setDangPrice(rs.getDouble( "dang_price "));
pro.setFixedPrice(rs.getDouble( "fixed_price "));
pro.setProductName(rs.getString( "product_name "));
pro.setProductPic(rs.getString( "product_pic "));
pro.setId(rs.getInt(id));

}
return   pros;
}
}

------解决方案--------------------
addBatch(),executeBatch();是用来执行DML SQL 语句,不是SELECT,LZ弄错了吧
------解决方案--------------------
while(rs.next)
------解决方案--------------------
掌握两个函数(其实是两类函数)。首先用循环遍历得到的结果集,即while(result.next())。这个函数遍历结果集中的每一条记录。然后在循环体中用result.getString("字段名")(也可以是其他类的get函数,看你各个字段的类型是什么了)获取每条记录相应字段的值,通常是有相应的JavaBean。具体的楼主查查帮助文档应该能懂了