我创建了一个名为MySQL的类。
这个类只包含一个方法,它将我连接到我的数据库。
public static void Connect() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
try {
connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/"+database,username,password);
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
现在,当我需要在JSP页面内部进行连接时,我会写这个。
<% MySQL.Connect();
Statement stmt = MySQL.getConnection().createStatement();
ResultSet rset = stmt.executeQuery("....");
//Some codes here
//Then I close both rset and stmt
rset.close();
stmt.close();
%>
我也应该关闭连接吗?请注意,在加载页面时会执行更多查询,我应该为所有查询设置1个连接,还是为每个查询设置1个连接然后关闭它?
答案 0 :(得分:1)
理想情况下,您只需在渲染页面的过程中使用一个连接,然后在页面末尾将其关闭。
这样可以确保一旦开始呈现页面,就可以完成,因为连接池耗尽而没有中断连接(并且您应该使用连接池而不是建立连接如果您重视页面性能,请直接进行。
答案 1 :(得分:0)
1,直接在jsp中获取连接并不是一个好主意。
2,无需为每个要在同一页面中执行的查询创建单独的连接。这也是基于您对该连接所执行的操作。
3,无论何时打开连接,都必须关闭连接。否则会发生泄漏 是问题。
4,在关闭连接之前,请确保它们不是null。因此,无效检查很重要,否则可能会出现nullpointer异常。
5,关闭finally块中的连接,这样当对象被垃圾收集时,根据连接不再进行操作。关闭连接是否在finally块中工作。 *