2

我正在开发一个限制使用 java 1.5 的项目。我的问题是它充满了这样的样板:

Query q = null;
   try {
    q = getTemplatedQuery("updateConfigurationSyncTimestamps").prepareQuery(false);
    q.addParameter("id", copyConfiguration.getId())
        .addParameter("targetLastSyncTime", targetSyncTime)
        .addParameter("targetLastSuccessfullSyncTime", lastSyncErrors == 0 ? targetSyncTime : null)
        .addParameter("lastSyncErrors", lastSyncErrors);
    q.executeUpdate();
   } finally {
    if (q != null) {
     q.closeStatement();
    }
   }

如何在 java 1.5 中解决这个问题?我想要实现的是能够使用类似 java 1.7 中的 try-with-resources 或类似的构造。无论程序运行时发生什么但没有示例中的样板,我只想关闭一个语句。

4

1 回答 1

1

您可以在 finally 块中使用 Apache Commons IOUtils.closeQuietly()将其减少到一行。

于 2014-02-25T16:06:49.060 回答