我在使用 Spring 框架的 MapSqlParameterSource 将空值传递给 NamedParameterJdbcTemplate 时遇到问题。有人知道怎么做吗?
目前我的代码是:
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);
这是我得到 NullPointerException 的地方。
最佳答案
这是我在 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);
工作正常。 也许堆栈跟踪可能会有所帮助?
关于Spring JdbcTemplate/NamedParameterJdbcTemplate 将空值作为参数值传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9286942/