JdbcTemplate 的 queryForList 有啥限制吗?

Posted

技术标签:

【中文标题】JdbcTemplate 的 queryForList 有啥限制吗?【英文标题】:Does JdbcTemplate's queryForList has any limitation?JdbcTemplate 的 queryForList 有什么限制吗? 【发布时间】:2020-06-05 09:19:26 【问题描述】:

最近,在与一位高级开发人员进行代码审查时,他告诉我 queryForList 有一个限制,它只能获取 1000 条记录。但是当我在网上搜索时,我找不到任何限制。那么JdbcTemplate的queryForList有什么限制吗?

【问题讨论】:

没有限制。他可能会将其与获取大小混淆,但这是另一回事,即使默认值是无限的(或者更确切地说“未指定”,因此使用驱动程序默认值)。 【参考方案1】:

Oracle 数据库只允许最多 1000 条记录请参阅以下错误:

Caused by: java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000

要解决此问题,请参阅以下主题。 Is there a workaround for ORA-01795: maximum number of expressions in a list is 1000 error?

【讨论】:

【参考方案2】:

不,您的开发人员将它与 INSERT 语句混淆了,我假设您使用的是 Oracle DBMS,您最多只能在单个语句中插入 1000 条记录。

【讨论】:

有可能!

以上是关于JdbcTemplate 的 queryForList 有啥限制吗?的主要内容,如果未能解决你的问题,请参考以下文章

spring boot 与 JdbcTemplate 一起工作

Spring5——JdbcTemplate笔记

jdbcTemplate学习

JdbcTemplate详解

JDBCTemplate

Spring 从入门到精通系列 11—— Spring 中的 JdbcTemplate