java如何关闭数据库连接

发布网友 发布时间:2022-04-24 05:53

我来回答

8个回答

热心网友 时间:2022-04-09 00:34


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();

        }

    }

}

热心网友 时间:2022-04-09 01:52

java编程中关闭数据确实是一件很麻烦的事情,不妨借助一下框架,比如Hibernate,事务的创建关闭就由框架本身自己管理吧

热心网友 时间:2022-04-09 03:27

一般都是做好一个业务后,关闭。
比如一个查询业务。查询结果显示后,关闭。
在查询过程中可能查询很多基本信息表,此类查询不关闭。
------------------
还有就是,业务的开始,要打开数据库连接。

热心网友 时间:2022-04-09 05:18

//补充二楼的:
try{

}

catch()
{}

finally{
if(rs!=null)rs.close();
if(sta!=null)sta.close();
if(conn!=null)conn.close();
//你可以把关闭操作写成一个类的静态方法,每次调用就可以了
}

热心网友 时间:2022-04-09 07:26

con.close()????

如果你控制不好就,每请求一次就关闭一次

热心网友 时间:2022-04-09 09:51

没异常,不过浪费资源,占着坑不拉,执行完一次数据库交互就要关闭一次
try{

sql...
}catch(...){
//异常信息
}finally{
rs.close();
stmt.close();
conn.close();
//关链接,释放资源
}
楼主说的关了不能执行肯定是把结果集返回,这样编程不行的,因为在上述操作中结果集已经关了,再返回就是空了,我们应该把数据返回,在
try{
list.add{rs.getObject(1)};
///
}
把数据装在list里面,返回list

热心网友 时间:2022-04-09 12:32

try{

}

catch()
{}

finally{
rs.close();
conn.close();
.....
}

热心网友 时间:2022-04-09 15:30

直接关connection:
if(conn != null) {
try {
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
conn = null;
}
写个工具类来关也可以:
public static void close(Connection conn) {
if(conn != null) {
try {
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
conn = null;
}
}
注意,在有返回sql相关对象的函数里不要关connection,例如resultset、statement、preparedstatement,呵呵返回connection的就更不用说了;如果connection是几个函数公

用的,那就在这几个函数都调用完了再关闭;其他情况最好在函数里把connection关了!!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com