jdbc 占位符插入null值 NullPointerException
如果变量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().getDepartId()) {
addSql.append(",DEPARTID)").append(" VALUES(?,?,?,?,?,?,?)");
jdbc 占位符插入null值 NullPointerException的更多相关文章
- java使用poi操作word, 支持动态的行(一个占位符插入多条)和表格中动态行, 支持图片
依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifa ...
- 面试题:对NotNull字段插入Null值 有啥现象?
Hi,大家好!我是白日梦. 今天我要跟你分享的话题是:"对NotNull字段插入Null值有啥现象?" 一. 推荐阅读 首发地址:https://mp.weixin.qq.com/ ...
- Mybatis mapper文件占位符设置默认值
如果要设置占位符默认值的话:需要进行 设置 org.apache.ibatis.parsing.PropertyParser.enable-default-value 属性为true启用占位符默认值处 ...
- Mybatis 插入null值报错
解决方法: 1.在settings中配置 <setting name="jdbcTypeForNull" value="OTHER"/> MyBat ...
- c# access插入null值
c# 插入access数据库 提示错误: Parameter @DeviceLocation has no default value. 参数@DeviceLocation 的有没有默认值. Stri ...
- SQL注入、占位符拼接符
一.什么是SQL注入 官方: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意 ...
- Mybatis 中 sql 语句的占位符 #{} 和 ${}
#{} 表示一个占位符号,通过 #{} 可以实现 preparedStatement 向占位符中设置值,自动进行 java 类型和 jdbc 类型转换.#{} 可以有效防止 sql注入. #{} ...
- SpringBoot环境属性占位符解析和类型转换
前提 前面写过一篇关于Environment属性加载的源码分析和扩展,里面提到属性的占位符解析和类型转换是相对复杂的,这篇文章就是要分析和解读这两个复杂的问题.关于这两个问题,选用一个比较复杂的参数处 ...
- spring源码分析之配置文件名占位符的解析(一)
一.直接写个测试例子 package com.test; import org.junit.Test; import org.springframework.context.ApplicationCo ...
随机推荐
- java:ssh连接服务器,实现本地文件上传和下载
1.连接至服务器:ssh hp@10.10.17.16 -p 5555 下载文件:scp -r hp@10.10.17.16:/ccc(服务器路径,文件夹下所有文件) /path(本地路径) ...
- jdk1.8-ArrayList源码分析
一:idea可以自动生成UML类图,ctrl+alt+u ArrayList类图 我没们看下类的继承关系 ) { ) { ) { )) )) newCapacity = minCapacity) ne ...
- 运行python manage.py 出现mportError: No module named django.core.management when using manage.py
1 . linux下用virtualenv 创建虚拟空间环境没有安装djang,即使主机装了,否则运行python manage.py 出现mportError: No module named dj ...
- NJCTF (easycrack)
安装app查看.一个输入框,输入随便输入显示Try again. 放入JEB反编译. 关于输入框监听是第一次见,具体可以看看这个博客https://www.jianshu.com/p/f976c677 ...
- PJzhang:一道看线索找答案的逻辑题
猫宁!!! 这道逻辑题,2年前就有打算解决,但是没上心,今天抽空梳理出来了思路,逻辑上可以跑的通,不至于以后慢慢忘了,这道题和数独题基本类似,但是也许更花时间,做这种题最好看着线索列图标,省的不停翻页 ...
- 如何上传整个项目或者是文件夹到github
原文地址:https://www.cnblogs.com/cairsha/p/11430436.html 在做github个人主页的时候,使用github的readme写起来很麻烦,而且也不好加入 ...
- Spring Cloud Bus 自动更新配置
---恢复内容开始--- Spring Cloud Config 结合 Spring Cloud bus 实现 git 仓库提交配置文件 触发消息队列 应用自动更新配置 1. config 服务端 添 ...
- 学习ansible笔记1
ansible的特点: -- 模块化设计 -- 仅需要ssh和Python即可以使用 -- 无客户端 -- 功能强大,模块丰富 -- 上手容易门槛低 -- 基于python开发,做二次开发更容易 -- ...
- 【计算机视觉】论文笔记:Ten years of pedestrian detection, what have we learned?
最近正在研究行人检测,学习了一篇2014年发表在ECCV上的一篇综述性的文章,是对行人检测过去十年的一个回顾,从dataset,main approaches的角度分析了近10年的40多篇论文提出的方 ...
- 登录进入Mysql数据库的几种方式
前提:连接进入mysql数据库 本机安装的myslq基础信息: host= "localhost", # 数据库主机地址:127.0.0.1 port=3306, # 端口号 us ...