Spring JdbcTemplate / NamedParameterJdbcTemplate passing null value as a parameter value
This is my code on Spring 3.1
String sql = "update user set name = :name where id = :id";
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("name", null);
params.addValue("id", 1);
namedParameterJdbcTemplate.update(sql, params);
works fine. Maybe a stack trace might help?
In pure jdbc its PreparedStatement.setNull(int,java.sql.Types.NULL);
From MapSqlParameterSource api there is
addValue(String paramName, Object value,int sqlType)
try providing java.sql.Types.NULL as sqlType.
May be this helps.
There is an extra space after parameter name:
params.addValue("project ", null);
↑
params.addValue("id ", 1);
↑