Spring JdbcTemplate/NamedParameterJdbcTemplate 将空值作为参数值传递

标签 spring jdbc jdbctemplate

我在使用 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/

相关文章:

java - SpringFramework JdbcTemplate RowMapper

java - 使用aspectj进行springboot日志记录获取IllegalArgumentException:错误在::0在切入点中正式未绑定(bind)

java - ClassLoader.getResources 在 Weblogic/Spring 应用程序上返回一个空枚举

java - 使用此自定义方法执行 JDBC MySQL 查询

java - 我如何在 spring jdbcTemplate 中实现分页

java - 我用于选择操作的 JDBCTemplate 代码有什么问题?

spring - 带有 spring-data solr 的嵌套文档

java - jpa @manytoone 创建复合主键而不是 @id

java - OrientDB Java jdbc 抛出 MethodNotFound

java - 如何使用 jdbc 和 java-swing 从特定列中检索完整的 xml(数据类型为 XMLTYPE)