行を挿入しようとすると、例外が発生します
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;
}
回答ありがとうございます。