❶ java 資料庫關閉連接
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();//拋出異常
}
}
❷ java 資料庫連接關閉 的問題
直接關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關了!!
❸ java如何關閉資料庫連接呢
沒異常,不過浪費資源,占著坑不拉,執行完一次資料庫交互就要關閉一次
try{
sql...
}catch(...){
//異常信息
}finally{
rs.close();
stmt.close();
conn.close();
//關鏈接,釋放資源
}
樓主說的關了不能執行肯定是把結果集返回,這樣編程不行的,因為在上述操作中結果集已經關了,再返回就是空了,我們應該把數據返回,在
try{
list.add{rs.getObject(1)};
///
}
把數據裝在list裡面,返回list
❹ 求指教JAVA程序中連接資料庫訪問後徹底關閉連接問題
try{
//執行的代碼塊
} catch{
//拋出異常
} finally{
//在finally裡面不管是否拋出異常都會執行
conn.close;
}
❺ Java使用完資料庫之後用不用每次都關閉連接
一般情況下使用完都會關的
但是例如連接池這種,就是大家直接使用即可,當web伺服器結束時自動由框架幫你關閉。
我感覺關閉不關閉的原則是:如果可以很好的控制連接數量和最後的連接關閉,可以不用每次都關閉。
❻ java連接資料庫在什麼位置關閉連接
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 關閉資料庫鏈接
執行SQL時,不必關閉整個連接,而是關閉Statement或ResultSet即可以
最終退出時,才關閉整個資料庫的連接
~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
❽ Java 怎麼關閉 mybatis的資料庫連接
似乎mybatis不用去操心關閉連接,它會自己關閉的,你可以控制連接的最大時間,
/**
* 獲取試圖連接的最大時間
*
* @see javax.sql.DataSource#getLoginTimeout()
*/
public int getLoginTimeout() throws SQLException {
return getDataSource().getLoginTimeout();
}
❾ java 連接 sql server 資料庫 :連接已關閉
看描述兩次應該是同一個connnection,問題就是getDBConnection中開頭的判斷,
若connection != null 則直接返回此對象,具體要看你第一次關閉連接怎麼做的了,(close是釋放佔用資源,不會將connection置為null),建議debug調試下
❿ java如何關閉資料庫連接
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();
}
}
}