我在Java中创建了一个函数,每次需要从数据库读取表时都可以重用。我的问题是我不知道如何在return语句后关闭连接。没有这样做,我在mysql中达到最大连接有问题。
这是我的代码:
public static ResultSet readTable(String query) {
// TODO Auto-generated method stub
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conex = DriverManager.getConnection("jdbc:mysql://localhost:3306/cbr_flexible_db", "root", "");
Statement st = conex.createStatement();
rs = st.executeQuery(query);
}
catch (Exception e) {
e.printStackTrace();
}
return rs;
}
最佳答案
我想如果您添加一个finally块,这应该可以工作:
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conex = DriverManager.getConnection("jdbc:mysql://localhost:3306/cbr_flexible_db", "root", "");
Statement st = conex.createStatement();
rs = st.executeQuery(query);
return rs;
}
catch (Exception e) {
e.printStackTrace();
}
finally{
conex.close();
}