1

mysql にクエリを挿入しようとすると、JDBC 3.0 getParameterType call not supported という例外が発生します。例外を下回る

2013-10-26 20:04:25 [http-apr-8080-exec-9] DEBUG [org.springframework.jdbc.core.StatementCreatorUtils] -  - JDBC 3.0 getParameterType call not supported
    java.sql.SQLException: Parameter metadata not available for the given statement
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
        at com.mysql.jdbc.MysqlParameterMetadata.checkAvailable(MysqlParameterMetadata.java:70)
        at com.mysql.jdbc.MysqlParameterMetadata.getParameterType(MysqlParameterMetadata.java:119)
        at org.springframework.jdbc.core.StatementCreatorUtils.setNull(StatementCreatorUtils.java:231)
        at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:213)
        at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:144)
        at org.springframework.jdbc.core.ArgumentPreparedStatementSetter.doSetValue(ArgumentPreparedStatementSetter.java:65)
        at org.springframework.jdbc.core.ArgumentPreparedStatementSetter.setValues(ArgumentPreparedStatementSetter.java:46)
        at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:822)
        at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:818)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589)
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:818)
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:874)
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:882)

私はSpring 3.2.4 Tomcat 7とmysqlコネクタ5.1.26を使用しています。挿入と選択を行う他のdaosがあるため、私には奇妙に思えます。

junit テスト ケースを実行すると、データを正常に挿入できました。

助けが必要です。ありがとう。

EDIT- エラーの原因となったコード

jdbcTemplate.update(
                ADD_DATA,
                new Object[] { IdKey, model.getType(), model.getUserId(), model.getDate(),
                        model.getPlace(), model.getArea(); ,model.getAddressBO().getCity(), model.getAddressBO().getState() });

SQL クエリ

INSERT INTO model (model_ID, model_TYPE_ID, USER_ID, model_DATE, model_PLACE, model_AREA, CITY_ID, STATE_ID) VALUES (?, ?, ? ,?, ?, ?, ? ,?) ";
4

1 に答える 1

0

例外はデバッグに誤解を招く可能性があります。日付フィールドは必須で、null を受け入れないため、修正しました。nullを挿入していました。それはデータを与えることに取り組んだ

于 2013-10-26T16:37:33.987 に答える