java – SQL JDBC Template如果参数值为null,则使用null然后使用数据库中的内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – SQL JDBC Template如果参数值为null,则使用null然后使用数据库中的内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含943字,纯文字阅读大概需要2分钟。
内容图文
![java – SQL JDBC Template如果参数值为null,则使用null然后使用数据库中的内容](/upload/InfoBanner/zyjiaocheng/899/5e0708523e0749758fe76d71609cc411.jpg)
我使用spring和JDBC模板更新一行,我的问题是我用来更新记录的对象可能有一些空值,我需要的是如果值为null则使用当前值列并且不在表中将值设置为null,不确定是否可以使用预表示法进行此操作?
查询将如下:
UPDATE CUSTOMER SET
activeType = ?,
readsBooks = ?,
readsKindle = ?
WHERE custID = ?
所以在我的reposistory:
Object[] parameters = new Object[] {
customer.getActiveType,
customer.readsBooks,
customer.readsKindle
};
memberIterestsRowUpdated = jdbcTemplate.update(query, parameters);
因此,如果readsBook或readKindle为null,那么我想使用数据库中的当前值,而不是将它们设置为null.
解决方法:
使用coalesce(param1,param2),如果param1为null,则返回param2.它在oracle和sql server中受支持.
UPDATE CUSTOMER T SET
T.activeType = ?,
T.readsBooks = coalesce(?,T.readsBooks ),
T.readsKindle = coalesce(?,T.readsKindle )
WHERE T.custID = ?
COALESCE返回表达式列表中的第一个非空expr.您必须至少指定两个表达式.如果所有出现的expr都计算为null,则该函数返回null.
COALESCE(expr1,expr2,…,exprn)
内容总结
以上是互联网集市为您收集整理的java – SQL JDBC Template如果参数值为null,则使用null然后使用数据库中的内容全部内容,希望文章能够帮你解决java – SQL JDBC Template如果参数值为null,则使用null然后使用数据库中的内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。