我有一个bukkit插件(minecraft),需要连接到数据库。
数据库连接应该一直保持打开状态,还是在需要时打开和关闭?
数据库连接仅在需要时才打开,并在完成所有必要的工作后关闭。代码示例:
在Java 7之前:
Connection con = null;
try { con = … //retrieve the database connection //do your work… } catch (SQLException e) { //handle the exception } finally { try { if (con != null) { con.close(); } } catch (SQLException shouldNotHandleMe) { //… } }
Java 7:
try (Connection con = ...) {
} catch (SQLException e) { } //no need to call Connection#close since now Connection interface extends Autocloseable
但是由于手动打开数据库连接太昂贵,因此强烈建议使用数据库连接池。这将为您处理物理数据库连接,当您 关闭 物理数据库连接(即调用Connection#close)时,物理数据库连接将仅处于SLEEP模式并仍处于打开状态。
Connection#close
相关问答:
一些用于处理数据库连接池的工具: