首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SimpleJdbcInsert与MySQL

SimpleJdbcInsert与MySQL
EN

Stack Overflow用户
提问于 2013-02-07 11:52:49
回答 2查看 2.6K关注 0票数 3

这是我写的相关代码:

代码语言:javascript
复制
new SimpleJdbcInsert(dataSource)
    .withSchemaName("test")
    .withTableName("tableName")
    .usingGeneratedKeyColumns("idColumn");

当我调用executeAndReturnKey(parameters)时,我在控制台上读到了以下内容:

警告org.springframework.jdbc.core.metadata.TableMetaDataProvider:locateTableAndProcessMetaData:336无法为“tableName”定位表元数据--必须提供列名

这一切为什么要发生?我知道我可以手动指定列名,但我相信这不是使用JdbcSimpleInsert的意义。

  • MySQL版本为5.5.9
  • MySQL连接器/J 5.1.23
  • 春季3.2.1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-15 09:14:26

在不同的MySQL服务器上执行相同的查询时,我遇到了一个错误:java.sql.SQLException: Parameter metadata not available for the given statement

所以我用石头杀了鸟:)

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

票数 0
EN

Stack Overflow用户

发布于 2017-05-13 21:41:03

我犯了一个相同的错误,原因不一样。在JDBC连接字符串中,我列出了模式。因此,放置withSchemaName子句会导致此错误。当我移除它的时候,插入就起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14750485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档