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; }
需捕获异常,再有错误,贴出来。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!
- ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
- ¥15 求daily translation(DT)偏差订正方法的代码
- ¥15 js调用html页面需要隐藏某个按钮
- ¥15 ads仿真结果在圆图上是怎么读数的
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误