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;
}
![](https://profile-avatar.csdnimg.cn/534b3076cc6d45b4a551d915272d2b9b_weixin_52310393.jpg!4)
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 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵