java如何关闭数据库连接

java如何关闭数据库连接,第1张

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:1433databaseName=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()

      }

  }

}

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

try{

sql...

}catch(...){

//异常信息

}finally{

rs.close()

stmt.close()

conn.close()

//关链接,释放资源

}

楼主说的关了不能执行肯定是把结果集返回,这样编程不行的,因为在上述 *** 作中结果集已经关了,再返回就是空了,我们应该把数据返回,在

try{

list.add{rs.getObject(1)}

///

}

把数据装在list里面,返回list


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9387992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存