1)是否可以为Dropwizard的jdbc mysql连接器设置全局 querytimeout值?默认值是什么?我不想在每个DAO中都使用@QueryTimeOut。
2)那么java. sql. Statement呢?networkTimeout参数的连接,定义为:
等待数据库请求完成的毫秒数。如果超出限制,则抛出一个SQLException。
我是否应该将其视为查询超时?
你可以配置一个语句消费者,为每一条语句注入它。它可以在可配置的JDBC包装器上设置:org. JDBC .v3.core. JDBC比如:
Jdbi.create(datasource)
.configure(SqlStatements.class, stmt -> {
stmt.setQueryTimeout(timeout);
});
Approach1:
@SqlQuery("select count(1) form table")
@QueryTimeout(1)
int findCount()
Approach2:
getHandle()
.createQuery("select count(1) from table")
.setQueryTimeout(1)
.mapTo(Integer.class)