不应该关闭哪些特殊情况?

时间:2013-12-14 01:53:07

标签: mysql jdbc

我被告知在工作完成后几乎总是(!)关闭语句和连接。

但是,我总是希望重用经常使用的语句。

我可以在哪些情况下重复使用语句?

1 个答案:

答案 0 :(得分:1)

您应该在完成一个工作单元后关闭一个声明(和连接)(如果您不再需要它,则应该更早)。您可以重复使用语句的示例是在一个紧凑的循环中,您需要使用不同的输入值执行相同的查询(例如批量插入)。在这种情况下,您在循环外准备语句,并在循环完成后关闭它。

你不应该试图坚持声明(或连接)超过一个单位的工作;试图重复使用内部代码可能会导致代码不透明和难以理解,大量的锅炉板和难以跟踪的资源泄漏或其他错误。

唯一的例外是当您使用连接池实现时(有时也提供语句池)。在那里你不必自己考虑它(除了池的正确配置),因为你将在它们的自然边界上关闭一个语句和一个连接。

表示,它们不是真正关闭,而是返回到连接(或语句)池