簡體   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