我正在处理一个问题,这个问题涉及我编写一个查询来从数据库中获取数千条记录。我将使用的查询将在WHERE条件中包含2个IN子句。
根据我的知识可能有限,请感觉纠正我,对于这个用例,我不能使用jdbctemplate。我必须转向NamedParameterJdbcTemplate,因为NamedParameterJdbcTemplate为我们提供了使用IN子句的灵活性。
现在,我正在寻找答案的问题如下:
Q.> NamedParameterJdbcTemplate没有setFetchSize方法。有没有办法为NamedParameterJdbcTemplate设置提取大小?
Q>有没有人知道NamedParameterJdbcTemplate的默认提取大小?对于JdbcTemplate,它设置为10.我知道。那么NamedParameterJdbcTemplate呢?
Q>即使我使用NamedParameterJdbcTemplate我的问题也无法解决,因为如果我们假设NamedParameterJdbcTemplate的获取大小也是10,那么获取几千条记录仍然会花费我很多的申请时间。
任何人都可以提出解决方案或指导我朝正确的方向发展吗?
答案 0 :(得分:4)
NamedParameterJdbcTemplate
委托所有JDBC工作的普通JdbcTemplate
。因此,您可以在构造函数中创建自定义NamedParameterJdbcTemplate
的{{1}}。如果您自定义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-