Bạn không nên làm điều đó. Kết nối có thời gian tồn tại giới hạn mà độ dài nằm ngoài tầm kiểm soát của ứng dụng của bạn. Khi DB quyết định rằng kết nối đã mở quá lâu, nó sẽ đóng kết nối và bạn sẽ nhận được connection reset
hoặc connection timed out
các trường hợp ngoại lệ. Thời gian này thường khoảng 30 phút, nhưng cũng có thể ít hơn.
Thực hành JDBC bình thường là lấy và đóng Connection
, Statement
và ResultSet
trong phạm vi ngắn nhất có thể, tức là trong cùng một khối phương thức khi bạn thực thi truy vấn.
Nếu lý do giữ kết nối mở lâu là do hiệu suất, thì bạn nên xem xét việc gộp kết nối, ví dụ c3p0 ( hướng dẫn sử dụng tại đây ).