gpt4 book ai didi

java - Spring Jdbctemplate Rowmapper 没有设置对象中的所有值

转载 作者:行者123 更新时间:2023-11-28 23:22:11 30 4
gpt4 key购买 nike

我正在使用 spring jdbc 模板从 oracle 数据库中检索 400 条记录。之后我使用行映射器将行转换为对象。对象中的某些值没有任何值。当我在 pl/sql 编辑器中测试相同的 sql 时,我能够看到所有行和行的所有列。当我调试应用程序时,出现以下错误。如果我为同一查询获取较少数量的记录 (7),它工作正常。行映射器正在设置对象的所有值。你能帮我解决这个问题吗?

java.sql.SQLException: statement handle not executed

2017-02-09 15:45:39 INFO XmlBeanDefinitionReader:317 - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
2017-02-09 15:45:39 INFO SQLErrorCodesFactory:126 - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
2017-02-09 15:45:39 WARN SQLErrorCodesFactory:227 - Error while extracting database product name - falling back to empty error codes
org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: Connection has already been closed.
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:305)
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:329)
at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:214)
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134)
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:97)
at org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:99)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:645)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:680)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:707)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:757)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:192)

最佳答案

如果从数据库中检索这 400 行需要一些时间,我假设您遇到了数据库连接超时。如果是这样,如果您正在使用资源池,请增加 connectionTimeout。调试代码时也可能发生超时。

也可能是数据库端超时。在这种情况下,您必须调整数据库超时参数。

关于java - Spring Jdbctemplate Rowmapper 没有设置对象中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147770/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com