为了验证 连接JDBC程序后,获得RecordSet以后,数据库连接切断
后会有什么状况出现,做如下测试:
获得数据库连接、执行SQL文,得到Recordset,sleep一段时间,切断连接。程序继续运行
测试用代码如下:
复制代码
import java.sql.*;
import java.io.*;
import java.lang.Thread;
public class test01{
public static void main(String[] args)
{
try{
Connection con;
try{
Class.forName("com.edb.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("Cannot found JDBC Driver!");
e.printStackTrace() ;
}
String url = "jdbc:edb://192.168.66.129:5444/edb" ;
String username = "enterprisedb" ;
String password = "enterprisedb" ;
con = DriverManager.getConnection(url , username , password ) ;
Statement stmt = con.createStatement() ;
ResultSet rs = stmt.executeQuery("SELECT * FROM a5") ;
System.out.println("Before displaying resultset");
Thread.sleep(180000);
while(rs.next()){
String id = rs.getString("ID");
System.out.println("id is:"+id);
}
if(rs != null){
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
if(stmt != null){
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
if(con != null){
try{
con.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
}catch(Exception exp){
exp.printStackTrace();
}
}
}
测试结果令人惊讶:100万条的记录,获得以后,连接已经断开(数据库服务器shutdown)。
可以正常输出。
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/08/21/2648705.html,如需转载请自行联系原作者