public List<Product> searchAll(){
List<Product> ps = new ArrayList<Product>();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
String url = "jfdbc:mysql://localhost:3306/bookstoredb";
conn = DriverManager.getConnection(url,"root","0609chenwanyi");
String sql = "select * from bookstoredb.product";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
Product p = new Product();
p.setId(rs.getString(1));
p.setName(rs.getString(2));
p.setPrice(rs.getDouble(3));
p.setCategory(rs.getString(4));
p.setPnum(rs.getInt(5));
p.setImgurl(rs.getString(6));
p.setDescription(rs.getString(7));
ps.add(p);
}
}catch(Exception e) {e.printStackTrace();}
finally {
}
if (rs != null)
rs.close();
if (pstmt != null)
pstmt.close();
if (conn != null)
conn.close();
return ps;
}

java关闭resultset,connection,preparedstatement出错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- hellotutu 2022-04-27 10:19关注
代码改动:
try{ String url = "jfdbc:mysql://localhost:3306/bookstoredb"; conn = DriverManager.getConnection(url,"root","0609chenwanyi"); String sql = "select * from bookstoredb.product"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { Product p = new Product(); p.setId(rs.getString(1)); p.setName(rs.getString(2)); p.setPrice(rs.getDouble(3)); p.setCategory(rs.getString(4)); p.setPnum(rs.getInt(5)); p.setImgurl(rs.getString(6)); p.setDescription(rs.getString(7)); ps.add(p); } }catch(Exception e) {e.printStackTrace();} finally { try { if (rs != null) rs.close(); if (pstmt != null) pstmt.close(); if (conn != null) conn.close(); } catch(Exception e) { e.printStackTrace(); } } return ps; }
需捕获异常,再有错误,贴出来。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录