繁体   English   中英

SimpleJdbcInsert与MySQL

[英]SimpleJdbcInsert with MySQL

这是我写的相关代码:

new SimpleJdbcInsert(dataSource)
    .withSchemaName("test")
    .withTableName("tableName")
    .usingGeneratedKeyColumns("idColumn");

当我调用executeAndReturnKey(parameters)我在控制台上读到了这个:

WARN [org.springframework.jdbc.core.metadata.TableMetaDataProvider:locateTableAndProcessMetaData:336](main :)无法找到'tableName'的表元数据 - 必须提供列名

为什么会这样? 我知道我可以手动指定列名,但我相信它不是使用JdbcSimpleInsert的重点。

  • MySQL版本是5.5.9
  • MySQL Connector / J 5.1.23
  • 春天3.2.1

在不同的MySQL服务器上执行相同的查询时,我遇到了这个错误: java.sql.SQLException: Parameter metadata not available for the given statement
所以我用石头杀了鸟儿:)

因此,只需将generateSimpleParameterMetadata=true添加到JDBC连接URL ,一切都将按预期工作。

出于不同的原因,我得到了相同的错误。 在我的JDBC连接字符串中,我列出了架构。 因此,使用withSchemaName子句会导致此错误。 当我删除它时,插入工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM