亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何關閉斷開的jdbc連接?

如何關閉斷開的jdbc連接?

哆啦的時光機 2024-01-05 10:08:16
我正在兩臺服務器之間建立連接(一臺運行 jdbc 應用程序,另一臺運行 Oracle DB),使用 jdbc 查詢幾個表。由于這些服務器位于兩個不同的國家,有時兩個服務器之間會出現斷開連接。當由于 原因無法建立連接時IO Error: Network adapter could not establish the connection,應用程序可以重試建立連接。但是,一旦建立了連接,然后斷開連接,應用程序就會掛起并且不會超時或退出連接。有人可以幫我關閉或退出此類連接嗎?
查看完整描述

3 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

使用try-with-resources語句

String user = "user";

String password = "password";

String url = "jdbc:mysql://localhost:3306/database_name";

try (Connection connect = DriverManager.getConnection(url, user, password);

Statement stmt = connect.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM table;");

) {

? ? while (rs.next()) {

? ? ? ? // TODO

? ? }

} catch (Exception e) {

? ? System.out.println(e);

}


查看完整回答
反對 回復 2024-01-05
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

您可以在塊中處理此問題,finally以確保在成功和異常情況下都關閉連接。下面分享示例代碼,供大家參考。


import java.sql.*;  

class MysqlConnectionExample{  

    public static void main(String args[]){  

        String jdbcUrl = "jdbc:mysql://localhost:3306/dbName";

        String userName = "userName";

        String password = "password";

        String driverName = "com.mysql.jdbc.Driver";

        Connection con= null;

        Statement stmt = null;

        try{  

            // Create connection

            Class.forName(driverName);  

            con = DriverManager.getConnection(jdbcUrl, userName, password);  

            stmt = con.createStatement();  

            ResultSet rs = stmt.executeQuery("SELECT * FROM employee");  


            // Iterate over the results

            while(rs.next()) { 

                System.out.println(rs.getInt(1)+"  "+rs.getString(2)+"  "+rs.getString(3));  

            }

        }

        catch(Exception e){ 

            System.out.println(e);

        }  

        finally{

            // Close connection

            con.close();

        }

    }  

}


查看完整回答
反對 回復 2024-01-05
?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

如果你使用連接傻瓜,我想這會像你的情況。作為其他答案,我建議使用 'connection.close()'; 如果需要的話,最好添加“trasation”范圍。



查看完整回答
反對 回復 2024-01-05
  • 3 回答
  • 0 關注
  • 244 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號