我在Java EE中进行编码,我有一些类可以管理我的数据库的所有操作。
我问自己应该何时打开/关闭与DB的连接。
在每种方法中打开和关闭它会更好吗? 或者最好在构造函数中打开它并在我使用我的类时关闭它?
THX
答案 0 :(得分:1)
没有通用解决方案。所有决定都取决于具体任务。你应该记住下一件事:
select 'some random text' from dual
; 如果您没有将来使用方法的信息,我建议使用时间限制的永久连接。如果方法没有通过此连接查询一段时间(如3-5秒),则应该使用第一个查询打开并使用计时器关闭。当然,任何查询者都应该在查询之前检查连接状态。打开它,如果它关闭,触摸关闭计时器。并且不要忘记在析构函数中显式关闭连接。
答案 1 :(得分:1)
我认为你不应该在代码中管理它。我工作的每个EE服务器都有连接池,无需你关心它。基本上,当您需要时“打开”连接,并在需要时“关闭”它。这些单词在引号中,因为当连接真正打开和关闭时,它由池来管理。
从设计角度来看,只有在需要时才使用连接。对象构造没有意义 - 如果类中的方法没有被调用一小时怎么办?当你不需要它时打开它的目的是什么?因此,如果方法需要打开连接并在方法中关闭它。