2017-11-18 217 views
1

我正在处理一个问题,该问题涉及我编写查询以从数据库中获取数千条记录。我将要使用的查询将在WHERE条件中包含2个IN子句。为NamedParameterJdbctemplate提取大小?

根据我的知识,可能会受到限制,请感觉纠正我,因为这种用例我不能使用jdbctemplate。我必须移动到NamedParameterJdbcTemplate,因为NamedParameterJdbcTemplate使我们可以灵活地使用IN子句。

现在我的问题,我正在寻找答案如下。

问。> NamedParameterJdbcTemplate没有setFetchSize方法。有没有办法为NamedParameterJdbcTemplate设置获取大小?

Q>有没有人有关于NamedParameterJdbcTemplate的默认获取大小的任何想法?对于JdbcTemplate,它被设置为10.我知道。那么NamedParameterJdbcTemplate怎么样?

Q>即使我使用NamedParameterJdbcTemplate,我的问题也不会得到解决,因为如果我们假设NamedParameterJdbcTemplate的获取大小也是10,那么获取数千条记录仍然需要大量的应用程序时间。

任何人都可以提出一个解决方案或引导我在正确的方向吗?

回答

3

对于所有JDBC工作,NamedParameterJdbcTemplate委托给普通的JdbcTemplate。所以,你可以创建你的NamedParameterJdbcTemplate在构造函数中传入定制的JdbcTemplate。如果您在JdbcTemplate上自定义fetchSize,那么NamedParameterJdbcTemplate也会使用。参见 - https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.html#NamedParameterJdbcTemplate-org.springframework.jdbc.core.JdbcOperations-