import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//一个数据库通用的帮助类,用于连接数据库与关闭数据库
public class DBUtil {
//第一步:声明你所需要的一些全局变量
private final static String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加载驱动的字符串
private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串
private final static String DB_USER="sa";//数据用户
private final static String DB_PWD="123456";//数据库登录密码
//第二步:加载数据库驱动(这里是sqlserver)
static{
try{
Class.forName(DRIVER_CLASS);
}catch(ClassNotFoundException e){
e.printStackTrace();//抛出异常
}
}
//第三步:获取数据库连接
public static Connection getConn(){
try {
return DriverManager.getConnection(CONN_STR,DB_USER,DB_PWD);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//最后关闭数据库连接
public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){
try {
if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (pstmt!=null) {
pstmt.close();//关闭预编译对象
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (conn!=null) {
conn.close();//关闭结果集对象
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
java编程中关闭数据确实是一件很麻烦的事情,不妨借助一下框架,比如Hibernate,事务的创建关闭就由框架本身自己管理吧
一般都是做好一个业务后,关闭。
比如一个查询业务。查询结果显示后,关闭。
在查询过程中可能查询很多基本信息表,此类查询不关闭。
------------------
还有就是,业务的开始,要打开数据库连接。
//补充二楼的:
try{
}
catch()
{}
finally{
if(rs!=null)rs.close();
if(sta!=null)sta.close();
if(conn!=null)conn.close();
//你可以把关闭操作写成一个类的静态方法,每次调用就可以了
}
con.close()????
如果你控制不好就,每请求一次就关闭一次