博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdbc 占位符插入null值 NullPointerException
阅读量:7121 次
发布时间:2019-06-28

本文共 640 字,大约阅读时间需要 2 分钟。

如果变量flag 为空 ,那么executeUpdate 后面的参数 bookCollect.getFlag() 就会被executeUpdate()方法忽略掉,程序会报错。

String addSql = "INSERT INTO BOOK_COLLECT(ADD_DATE,STATUS,DEPARTID,FLAG) VALUES(?,?,?,?)";
session.executeUpdate(addSql.toString(), new Object[]{bookCollect.getAddDate(), bookCollect.getStatus(), bookCollect.getFlag(), bookCollect.getDepartId()});

 解决方案:根据参数是否为空进行不同的sql拼接,然后再执行sql。感觉此处jdbc没有jpa智能。

addSql.append("INSERT INTO BOOK_COLLECT(DOCLIB_ID,DOC_ID,ADD_USER_NAME,ADD_DATE,STATUS,FLAG"); if (null != list.get(0).getDepartId()) {
addSql.append(",DEPARTID)").append(" VALUES(?,?,?,?,?,?,?)");

转载于:https://www.cnblogs.com/Andrew520/p/11024988.html

你可能感兴趣的文章
php连接memcache(php.ini配置)
查看>>
Intellij Idea15开发Web网站
查看>>
『51cto十周年庆典』社区活动大汇总
查看>>
Mysql用户管理以及权限管理
查看>>
MySQL server has gone away 问题的解决方法
查看>>
X-NUCA全国高校网安联赛7月训练题解
查看>>
MyEclipse中对项目分类管理
查看>>
mysql 基于 ssl 的主从复制
查看>>
2015.7.29 上学前在家的最后一晚
查看>>
Linux自学笔记——iptables
查看>>
给力的网络 有道的性能——802.11n与WLAN
查看>>
NO.59 禅道的获奖奖品
查看>>
Git前世今生-版本控制软件的发展
查看>>
asa802.k8-telnet for lan-base
查看>>
将勾选数据从dataset中筛选出来
查看>>
SylixOS启动读取配置文件
查看>>
Inspex
查看>>
volatile关键字使用总结
查看>>
Apache 别名与重定向
查看>>
用户和组练习题
查看>>