Spring JdbcTemplate / NamedParameterJdbcTemplate die übergabe von null-Wert als parameter-Wert
Ich habe ein Problem ein null-Wert übergeben zu NamedParameterJdbcTemplate mit MapSqlParameterSource von dem spring framework. Weiß jemand, wie man dies tun?
Derzeit mein code ist :
String sql = "update person set project = :project where id = :id;";
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("project ", null);
params.addValue("id ", 1);
int count = newNamedParameterJDBCTemplate().update(sql, params);
Dies ist, wo bekomme ich eine NullPointerException.
- Sie setzen die
dataSource
fürNamedParameterJDBCTemplate
Sie, dass die Rückgabe vonnewNamedParameterJDBCTemplate()
? - xSNRG, können Sie teilen, was war das problem? Antwort von Titi ist das gleiche wie dein code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist mein code auf Spring 3.1
funktioniert einwandfrei.
Vielleicht ein stack-trace kann helfen?
In reinem jdbc seine PreparedStatement.setNull(int,java.sql.Typen.NULL);
Von MapSqlParameterSource api gibt es
versuchen, die Bereitstellung von java.sql.Typen.NULL als sqlType.
Kann sein, dass das hilft.
Gibt es einen extra Raum nach dem parameter name:
Bitte stellen Sie sicher, dass, wenn die Datenquelle für Ihre jdbcTemplate wie unten als Beispiel
namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
Ich denke Semikolon ist extra im code unten:
Entfernen Sie das Semikolon nach der id. Es sollte wie: