如何在SimpleJdbcTemplate上设置QueryTimeout?

如何在SimpleJdbcTemplate上设置QueryTimeout?,第1张

概述Spring Framework有两个类似的类:JdbcTemplate是旧的Java 1.4类,而SimpleJdbcTemplate是更新的,具有更好的方法.JdbcTemplate有一个方法setQueryTimeout,它基本上允许我访问基础Statement对象上具有相同名称的方法.有没有办法和SimpleJdbcTemplate做类似的事情?解决

Spring Framework有两个类似的类:JdbcTemplate是旧的Java 1.4类,而SimpleJdbcTemplate是更新的,具有更好的方法.

JdbcTemplate有一个方法setQueryTimeout,它基本上允许我访问基础Statement对象上具有相同名称的方法.

有没有办法和SimpleJdbcTemplate做类似的事情?

解决方案:根据skaffman的回答,我自己从JdbcTemplate创建SimpleJdbcTemplate对象,所以现在我可以做任何我想做的事情.码:

JdbcTemplate jdbcTemplate = this.getJdbcTemplate();jdbcTemplate.setqueryTimeout(30);SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate);

有点满口,但完成工作.

更新:这确实比必要的更复杂.看到答案.

最佳答案SimpleJdbcTemplate不是JdbcTemplate的替代品,它只是对java5友好的补充,对于某些可以充分利用varargs和泛型的 *** 作.

如果查看SimpleJdbcTemplate的源代码,您将看到它将其所有工作委托给JdbcTemplate对象,因此通过在JdbcTemplate上设置超时(或其他选项),您也可以在SimpleJdbcTemplate上隐式设置它们.

如果您通过SimpleJdbcdaoSupport.getSimpleJdbcTemplate()获取SimpleJdbcTemplate,那么JdbcTemplate将已经正确连接.

编辑:

例如:

public class MyDao extends SimpleJdbcdaoSupport {    public voID doStuff() {        getJdbcTemplate().setqueryTimeout(x);        getSimpleJdbcTemplate().execute(...);    }}

SimpleJdbcTemplate包含与getJdbcTemplate()检索的JdbcTemplate相同的JdbcTemplate.

如果你没有扩展SimpleJdbcdaoSupport,那么是的,你需要自己手动构建一个SimpleJdbcTemplate.

总结

以上是内存溢出为你收集整理的如何在SimpleJdbcTemplate上设置QueryTimeout?全部内容,希望文章能够帮你解决如何在SimpleJdbcTemplate上设置QueryTimeout?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存