Printemps JdbcTemplate / NamedParameterJdbcTemplate passer la valeur null comme valeur de paramètre
J'ai une question en passant d'une valeur null à NamedParameterJdbcTemplate à l'aide de MapSqlParameterSource du framework spring. Quelqu'un sait comment faire cela?
Actuellement mon code est :
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);
C'est là que je reçois un NullPointerException.
Êtes-vous définir le
xSNRG, pouvez-vous nous dire quel était le problème? Réponse par Titi est le même que votre code.
dataSource
pour NamedParameterJDBCTemplate
que le retour de newNamedParameterJDBCTemplate()
?xSNRG, pouvez-vous nous dire quel était le problème? Réponse par Titi est le même que votre code.
OriginalL'auteur synRG | 2012-02-15
Vous devez vous connecter pour publier un commentaire.
C'est mon code sur le Printemps 3.1
fonctionne très bien.
Peut-être une trace de la pile pourrait aider?
OriginalL'auteur Titi Wangsa Bin Damhore
Dans le plus pur jdbc son PreparedStatement.setNull(int,java.sql.Les Types.NULL);
De MapSqlParameterSource de l'api, il est
essayer de fournir java.sql.Les Types.NULL sqlType.
Peut-être cela peut vous aider.
OriginalL'auteur baba.kabira
Il y a un espace après le nom du paramètre:
OriginalL'auteur cnstntn
Assurez-si la source de données est définie pour votre jdbcTemplate comme ci-dessous à titre d'exemple
namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(source de données);
OriginalL'auteur Kran
Je pense que le point-virgule est extra dans le code ci-dessous:
Supprimer le point-virgule après id. Il devrait ressembler à:
OriginalL'auteur Tanya verma