java的jdbc插入的时候,遇到null情况报错问题
分析原因:
在执行SQL时MyBatis会自动通过对象中的属性给SQL中参数赋值,它会自动将Java类型转换成数据库的类型。而一旦传入的是null它就无法准确判断这个类型应该是什么,就有可能将类型转换错误,从而报错。
解决办法:
参数增加jdbcType标识数据类型。(注意:这时候参数{}前统一用#)
<insert id="insert_air_hour" parameterType="java.util.Map">
insert into pollute_hour_gas(mp_id, update_time, data_time, create_time, pollutant_code, flag, outlet_standard, mstatus, astatus, estatus, sstatus, cou_value, avg_value, min_value, max_value, avg_zs, min_zs, max_zs)
values
(#{params.mp_id,jdbcType=VARCHAR},#{params.update_time,jdbcType=TIMESTAMP},#{params.data_time,jdbcType=TIMESTAMP},#{params.create_time,jdbcType=TIMESTAMP},#{params.pollutant_code,jdbcType=VARCHAR},#{params.flag,jdbcType=VARCHAR},
#{params.outlet_standard,jdbcType=VARCHAR},#{params.mstatus,jdbcType=VARCHAR},#{params.astatus,jdbcType=VARCHAR},#{params.estatus,jdbcType=VARCHAR},#{params.sstatus,jdbcType=VARCHAR},
${params.cou_value,jdbcType=NUMERIC},${params.avg_value,jdbcType=NUMERIC},${params.min_value,jdbcType=NUMERIC},${params.max_value,jdbcType=NUMERIC},${params.avg_zs,jdbcType=NUMERIC},${params.min_zs,jdbcType=NUMERIC},${params.max_zs,jdbcType=NUMERIC})
</insert>
下面表格列出所有的jdbc数据类型对照表:


java的jdbc插入的时候,遇到null情况报错问题的更多相关文章
- 普通的jdbc事务在插入数据后 下面的代码报错时 数据不会回滚 但是 spring的事务会回滚
普通的jdbc事务在插入数据后 下面的代码报错时 数据不会回滚 但是 spring的事务会回滚
- SpringCloud使用Feign调用其他客户端带参数的接口,传入参数为null或报错status 405 reading IndexService#del(Integer);
SpringCloud使用Feign调用其他客户端带参数的接口,传入参数为null或报错status 405 reading IndexService#del(Integer); 第一种方法: 如果你 ...
- Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty 报错
项目中遇到的获取https的数据接口数据时,Unexpected error: java.security.InvalidAlgorithmParameterException: the trustA ...
- 出现“java.lang.AssertionError: SAM dictionaries are not the same”报错
运行一下程序时出现“java.lang.AssertionError: SAM dictionaries are not the same”报错 java -jar picard.jar SortVc ...
- guava缓存设置return null一直报错空指针
guava缓存设置return null一直报错空指针 因为缓存不允许返回为空
- java通过jdbc插入中文到mysql显示异常(问号或者乱码)
转自:https://blog.csdn.net/lsr40/article/details/78736855 首先本人菜鸡一个,如果有说错的地方,还请大家指出予批评 对于很多初学者来说,中文字符编码 ...
- java通过jdbc插入中文到mysql显示乱码(问号或者乱码)
对于很多初学者来说,中文字符编码不相同的问题,是一个很烦躁的问题!! 因为很多时候,我们并不知道,到底是哪一层出现了问题? 在这里稍微做个总结~也怕自己今后忘了!! 其实也就三层: 1.前端页面 2. ...
- java 将长度很长的字符串(巨大字符串超过4000字节)插入oracle的clob字段时会报错的解决方案
直接很长的字符串插入到clob字段中会报字符过长的异常,相信大家都会碰到这种情况 String sql = "insert into table(request_id,table_name, ...
- MYSQL timestamp NOT NULL插入NULL的报错问题
1. 在开发两个数据库数据同步功能的时候,需要在本地搭建一个本地的数据库作为一个本地库,然后用于同步开发库中的数据.在插入的时候出现了一个问题. 问题描述: 我们每张表中都会存在一个create_ti ...
- 使用 Mybatis 框架 jdbc 方式批量写入 SQL Server,报错 com.microsoft.sqlserver.jdbc.SQLServerException 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数,最多应为2100
这个错是sqlserver抛出来的. 进过验证,上述错误中的2100为插入的总字段数. 比如下面这种插入方式,values后面的一个括号里的字段为30个,那么后面最多只能加70条,即这种批量插入方式一 ...
随机推荐
- 实际项目中如何使用Git做分支管理
前言 Git是一种强大的分布式版本控制系统,在实际项目开发中使用Git进行分支管理是非常常见的做法,因为它可以帮助团队高效的协作和管理项目的不同版本,今天我们来讲讲在实际项目中最常用的Git分支管理策 ...
- Visual Studio 2022插件的安装及使用 - 编程手把手系列文章
这次开始写手把手编程系列文章,刚写到C#的Dll程序集类库的博文,就发现需要先介绍Visual Studio 2022的插件的安装及使用,因为在后面编码的时候会用到这些个插件,所以有必要先对这个内容进 ...
- Makefile编写模板 & 学习笔记
一.模板 # 伪命令 .PHONY: clean compileSo compileExe run: compileExe @./main compileExe: compileSo @g++ mai ...
- 在HarmonyOS上实现ArkTS与H5的交互
介绍 本篇Codelab主要介绍H5如何调用原生侧相关功能,并在回调中获取执行结果.以"获取通讯录"为示例分步讲解JSBridge桥接的实现. 相关概念 Web组件:提供具有网 ...
- 4天带你上手HarmonyOS ArkUI开发——《HarmonyOS ArkUI入门训练营之健康生活实战》
<HarmonyOS ArkUI入门训练营之健康饮食应用>是面向入门开发者打造的实战课程系列.特邀华为终端BG高级开发工程师作为本次训练营讲师,以健康饮食为例,开展技术教学及实战案例分享 ...
- 美丽的夕阳qsnctfwp
题目附件 查看图片,放大左侧发现建筑物上 8 个字:龙腾公寓/福阳集团 根据文字在搜索引擎中查找,并由此确定城市 通过百度地图全景地图查看当地桥梁,并与照片比对 调整地图比例尺,记录桥名 根据提示qs ...
- 实验k8s ————— k8s 搭建[一]
前言 以前学习k8s记录的.这里简单整理一下搭建,当时是我们学习环境的搭建,正式环境得专门的运维人员来,毕竟人家考虑的东西不一样. 正文 这里用kubeadm进行搭建,更加详细信息,在这里: http ...
- c# 模拟web请求formdata webrequest
前言 在写代码中,我们常常需要去书写代码去请求一些东西,那么是不是可以模拟像web formdata一样请求. 正文 下面代码为模拟的: public string SendRequest(strin ...
- c# 多线程传值注意的地方
前言 下面介绍多线程传值的几种方式,并说明注意点. 正文 static void Main(string[] args) { SampleTread thead = new SampleTread(1 ...
- sweetviz工具避坑和简单使用
网上关于sweetviz的文章比较少,有些坑这里说一下给大家避坑. 使用sweetviz遇到的错误如下: KeyError: "None of ['index'] are in the co ...