gpt4 book ai didi

java - 是否可以从 SQLException 对象获取 JDBC Connection 对象?

转载 作者:行者123 更新时间:2023-12-01 22:58:30 25 4
gpt4 key购买 nike

这就是我想做的:我正在使用 JAX-RS 编写一个 Restful 应用程序。我编写了一个异常映射器来将 SQLException 映射到 HTTP 状态代码 500。

@Provider
public class SQLExceptionMapper implements ExceptionMapper<SQLException> {

@Override
public Response toResponse(SQLException exception) {
Logger.error(exception);
return Response.serverError().build();
}
}

我在代码中遇到过很多这样的情况:

try {
conn.setAutoCommit(false);
/* do some stuff */
conn.commit();
} catch (SQLException ex) {
conn.rollback();
/* re-throw SQLException again so exception mapper converts it to HTTP status 500 */
throw ex;
} finally {
conn.setAutoCommit(true);
conn.close();
}

实际上我不喜欢conn.rollback();抛出前;。我真正想要的是从 SQLException 对象获取 JDBC Connection 对象,以便我可以在异常映射器内回滚连接。这可能吗?与此问题无关的另一个问题是:我在数据库调用之间进行了一些广泛的数学处理。我在完成每个阶段后关闭连接,并在下一阶段开始时打开它。因此,在一个请求中我会执行多次打开/关闭操作。这是不好的模式吗?

最佳答案

Is it possible to get JDBC Connection object from SQLException object?

没有。

关于java - 是否可以从 SQLException 对象获取 JDBC Connection 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23709883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com