its*_*dok 5 spring jdbc jdbctemplate
Spring Framework有两个类似的类:JdbcTemplate是旧的Java 1.4类,而SimpleJdbcTemplate是更新的,具有更好的方法.
JdbcTemplate有一个方法setQueryTimeout,它基本上允许我访问基础Statement对象上具有相同名称的方法.
有没有办法用SimpleJdbcTemplate做类似的事情?
解决方案:根据skaffman的回答,我SimpleJdbcTemplate自己创建了一个对象JdbcTemplate,所以现在我可以做任何我想做的事.码:
JdbcTemplate jdbcTemplate = this.getJdbcTemplate();
jdbcTemplate.setQueryTimeout(30);
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate);
Run Code Online (Sandbox Code Playgroud)
有点满口,但完成工作.
更新:这确实比必要的更复杂.看到答案.
SimpleJdbcTemplate 不是 的替代品JdbcTemplate,它只是对它的 java5 友好的补充,对于某些可以充分利用可变参数和泛型的操作。
如果您查看 的源代码SimpleJdbcTemplate,您会看到它将其所有工作委托给一个JdbcTemplate对象,因此通过将超时(或其他选项)JdbcTemplate设置在上,您可以隐式地将它们设置在 上SimpleJdbcTemplate。
如果您正在获取SimpleJdbcTemplatevia SimpleJdbcDaoSupport.getSimpleJdbcTemplate(),则JdbcTemplate已经正确连接。
编辑:
例如:
public class MyDao extends SimpleJdbcDaoSupport {
public void doStuff() {
getJdbcTemplate().setQueryTimeout(x);
getSimpleJdbcTemplate().execute(...);
}
}
Run Code Online (Sandbox Code Playgroud)
SimpleJdbcTemplate 包含与 getJdbcTemplate() 检索到的相同的 JdbcTemplate。
如果你不扩展SimpleJdbcDaoSupport,那么是的,你需要自己手动构造一个SimpleJdbcTemplate。
| 归档时间: |
|
| 查看次数: |
10994 次 |
| 最近记录: |