我正在处理一个涉及我编写查询以从数据库中获取数千条记录的问题。我要使用的查询将在WHERE条件下包含2个IN子句。
据我所知,这可能是有限的,请您纠正我,对于此用例,我无法使用jdbctemplate。我将不得不转向NamedParameterJdbcTemplate,因为NamedParameterJdbcTemplate使我们可以灵活地使用IN子句。
现在,我正在寻找答案的问题如下。
问:> NamedParameterJdbcTemplate没有setFetchSize方法。有没有一种方法可以设置NamedParameterJdbcTemplate的获取大小?
问>是否有人对NamedParameterJdbcTemplate的默认获取大小有任何想法?对于JdbcTemplate,它设置为10。我知道。那NamedParameterJdbcTemplate呢?
Q>即使我使用NamedParameterJdbcTemplate,也无法解决我的问题,因为如果我们假设NamedParameterJdbcTemplate的获取大小也为10,则获取几千条记录仍将花费我大量的应用程序时间。
有人可以提出解决方案或指导我朝正确的方向发展吗?
最佳答案
NamedParameterJdbcTemplate
委派所有JDBC工作的纯JdbcTemplate
。因此,您可以在构造函数中传递自定义的NamedParameterJdbcTemplate
来创建JdbcTemplate
。如果您在传入的fetchSize
上自定义JdbcTemplate
,那么NamedParameterJdbcTemplate
也将使用此代码。参见-https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.html#NamedParameterJdbcTemplate-org.springframework.jdbc.core.JdbcOperations-
关于java - 获取NamedParameterJdbctemplate的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47361923/