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;
}
代码改动:
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;
}
需捕获异常,再有错误,贴出来。
把他们用try/catch块抱起来,这里是需要抛出或者捕获异常的