2

行を挿入しようとすると、例外が発生します

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)

私の挿入は成功しましたが、コンソールを見た後、挿入中に例外がスローされたことがわかりました。

この例外はフローを停止しませんが、実際の挿入でエラーが発生した場合に問題が発生する可能性があります。これを対応して。

編集:-

public int addUserAcc(UserDO userDO)
        throws UserDataException {
    JdbcTemplate jd = this.getJdbctemplate();
    try {
        Long userId= jd.queryForObject(USER_KEY,
                Long.class);
        jd.update(ADD_USERACC, new Object[] { userId,
                userDO.getFirstName(), userDO.getLastName(),
                userDO.getMobile(), userDO.getEmail(),
                userDO.deleteFlag() });
    } catch (DataAccessException dExp) {
        throw new UserDataException(
                "error creating user ", dExp);

    }
    return 0;
}

回答ありがとうございます。

4

1 に答える 1