Mybatis中sql语句报错无效参数类型问题

MyBatis SQL语句 #{} 和 ${}的区别 T04BF👋专栏:🫵 今天你敲代码了吗。 阅读详情

报错mybatis无效参数类型问题,mybatis中sql语句的参数,如果这个参数可以为空,那么则必须添加jdbcType,否则将报错无效参数类型。

Mybatis文档中有如下解释:

像 MyBatis 的剩余部分一样,javaType 通常可以从参数对象中来去确定,前提是只要对象不是一个 HashMap。那么 javaType 应该被确定来保证使用正确类型处理器。

NOTE 如果 null 被当作值来传递,对于所有可能为空的列,JDBC Type 是需要的。你可以自己通过阅读预处理语句的 setNull() 方法的 JavaDocs 文档来研究这种情况。

为了以后定制类型处理方式,你也可以指定一个特殊的类型处理器类(或别名)

	<insert id="add" parameterType="com.auro.entity.Cost">
		insert into cost_xll values(cost_seq_xll.nextval, 
                                    #{name}, 
                                    #{base_Duration}, 
                                    #{base_Cost,jdbcType=NUMERIC}, 
                                    #{unit_Cost,jdbcType=NUMERIC},
                                    '1',
                                    #{descr,jdbcType=VARCHAR},
                                    sysdate,
                                    #{startime,jdbcType=TIMESTAMP},
                                    #{cost_Type,jdbcType=CHAR})
	</insert>

Mybatis文档中写明支持类型

支持的 JDBC 类型

为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 JDBC 类型。

BITFLOATCHARTIMESTAMPOTHERUNDEFINED
TINYINTREALVARCHARBINARYBLOGNVARCHAR
SMALLINTDOUBLELONGVARCHARVARBINARYCLOBNCHAR
INTEGERNUMERICDATELONGVARBINARYBOOLEANNCLOB
BIGINTDECIMALTIMENULLCURSORARRAY
Spring配置Mybatis执行原生SQL语句 为什么要怎么做有这么一个应用场景:需要在Mybatis框架上进行多个连接池的配置,然后进行多种SQL语句的测试,因为有些SQL语句的结构比较复杂,有些会涉及到很多group by、join操作还有一些聚集函数的使用,同时数据量又较大 阅读详情

相关推荐

ICC2 高效上手 | create_lib 命令全攻略:数字后端工程师的必备秘籍

如果技术文件中的足够满足你的需求,你可以设置,然后运行create_lib命令;如果技术文件的精度不够,那就需要显式地使用来定义缩放因子。在使用create_lib必须显式指定库名(如my_libA推荐优先通过或来关联技术数据,确保你的设计库有正确的工艺基础。显式地通过-ref_libs定义参考库,这样可以避免工具自动推导时可能出现的冲突。慎重使用,只有在对数据精度有特殊需求时才显式指定,并且要确保它与参考库的缩放因子一致。

weixin_50820814的博客 1595

mybatis-plus使用oracle数据库进行新增一直报错

mybatis-plus新增oracle数据库记录

qq_38862389的博客 2058

Qt Location实战:5分钟搞定地图插件切换与卫星图源加载(附完整代码)

本文是Qt Location开发系列教程的实战指南,详细讲解如何在Qt应用中快速实现地图插件(如Esri、OSM、MapboxGL)的动态切换与卫星图源的加载。通过清晰的代码示例,帮助开发者理解插件机制,解决常见配置问题,并在5分钟内构建出具备交互式地图切换功能的应用程序。

kafka6courier的博客 526

mybatis 之 uncategorized SQLException for SQL [: SQL state [99999]: error code [17104]

mybatis oracle 之 uncategorized SQLException for SQL [: SQL state [99999]: error code [17104] 错误日志 错误形式一3 形式二 起初关于这个问题一直想通过错误码为入口进行问题排查,无奈源码阅读能力有限,一直没有弄明白错误码的生成原理,导致问题定位耗时较长。又苦于本地单元测试恰巧出问题,一直没发断点到源码追溯问题。纠结了一上午,加了日志查看执行sql前的list.传值。终于找到问题,是因为批量更新的脚本list传值

weixin_39265427的博客 4955

Clion+platformIO开发ESP32时找不到lib文件中引入第三方库的头文件(头文件下有波浪线),实际编译是成功的解决方法

Clion+platformIO开发ESP引入第三方库文件编译器无法找到.h文件但编译成功

zs5218的博客 1852

用GraphPad Prism直出单细胞亚群堆叠柱状图

用GraphPad Prism直出单细胞亚群堆叠柱状图

fivehuge的博客 4197

mybatis 操作oracle sql 执行的一些坑

mybatis 操作oracle sql 执行的一些坑

yuyue_999的博客 1205

实现电脑同时上内网和外网(或通过外网访问到该电脑通过该电脑访问内网)

一、需求描述 目前使用的公司网络只能够上内网,但是又有上外网查资料的需求: ①想要实现电脑既能上内网的同时也可以上外网; ②想要使用其他外网电脑使用外网连接到该电脑,通过该电脑访问内部的网络内容。 二、准备内容 电脑必须具备两个网卡,即:可以同时连接内网和外网(比如我的笔记本就可以:使用网线连接笔记本网口与内网通讯,使用WIFI连接手机热点访问外部网络); 注意:如果只有一个网口,可以另外购买USB的无线网卡来实现上网卡。 三、实现电脑同时上内网和外网的操作步骤 3.1、网络拓扑图 ..

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 2万+

jdbc,mybatis中fetchsize使用,批处理方案

数据库优化之查询优化,fetchsize使用,常用sql

FOREVER_DO 2万+

eCognition易康操作教程(一):如何利用eCognition易康软件进行影像分割之棋盘分割、四叉树分割、光谱差异分割

进程执行完成后,植被覆盖区域与裸地区域合并了。第三步:清除分割结果,点击“Image Objects”菜单栏,点击“Delete Level(s)”,选中“ResultLevel1”,点击”ok”删除棋盘分割结果。四叉树分割之后,有的正方形大一些,有的正方形小一些,大说明该区域的光谱特性更加均一,而小说明不太均一。Leve:选择运行算法的矢量层名称,这里选择四叉树分割算法得到的矢量层“ResultLevel2”。Image Layer weights:图层权重,这里设置为“1,1,1,1”。

蒹葭苍苍 4609

PCL 切片法实现点云模型的体积测量、面积测量(二)

通过PCL VTK进行切片法,实现点云模型的体积测量、面积测量。

weixin_43896283的博客 1711

mybatis报错:java.sql.SQLException: 无效的列类型: 1111

console报错: Could not set parameters for mapping: ParameterMapping{property='per001', mode=IN, javaType=class java.lang.Object, jdbcType=null, java.sql.SQLException: 无效的列类型: 1111   问题原因: 1:paramet...

tornado430的专栏 7995

利用dddd_trainer训练通用验证码识别模型

博文介绍了使用dddd_trainer工具训练自定义验证码识别模型的过程,详细展示了从环境搭建、数据集准备到模型训练的全流程。

九月镇灵将的博客 1033

【mybatis】传参问题:多个参数中同一类型和不同类型

在项目中如果一个方法中的参数都是同一个类型,那么我们在mapper文件中写查询语句时,直接就可以用parameterType="java.lang.String"就可以了,但是类型不一样的时候,比如我们需要穿两个参数到SQL语句中,一个是String类型的,一个是int类型的,再这样写就不行了。 因为在查询的时候,当传进去的参数为string类型时,mybatis会自动将参数用''给括起来。 并且...

种一棵树最好的时间是十年前,其次是现在。 3513

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

关于MyBatis动态SQL参数判断时传入String类型的问题总结

经过多次尝试,两种方案均可以正常使用总结:MyBatis在动态SQL处理中,对于判断两边不一致的数据类型时,可能会根据上下文错误地进行类型转换。若能确保传入参数一定为String类型的情况下,需要将待比较的值也转化成相同类型才能比较。

qq_28623001的博客 1244

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Mybatis动态SQL语句大全

Mybatis动态SQL语句大全

小学生波波 2642

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MyBatis增加时报错“无效的列类型”

以一下是Insert的SQL语句增加时报错“无效的列类型”,也没用说是哪个属性,真的痛苦。 INSERT INTO SCOTT.PM_SUPPLIER ( SUPPLIER_ID, SUPPLIER_CODE, SUPPLIER_NAME, BRAND_ID, BRAND_NAME, CONTACTOR, TELEPHONE, MOBILE, POST_CODE, FAX,...

qq_41355627的博客 1963

Mybatis的SQL语句参数报错问题

Mybatis的SQL语句参数报错问题 做项目时新写的一个sql语句报错: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘number’ not found. Available parameters are [arg1, ar

weixin_47113678的博客 464

Mybatis 插件: MySQL sql 语句转换为合法的达梦sql语句

项目已经运行了很多年了,里面有大量的 SQL 语句,底层数据库都是 MySQL,现在要迁移到达梦数据库,怎么办?一开始的解决方案是这样的,先拷贝一份 mapper xml 文件, 再在上面改 SQL ,SQL 功能逻辑不变,可能就是小修小改, SQL 语句无非就是增删改查,而且大多数都是单表的增删改查,只是多费一些时间而已,但怎么知道这个 SQL 语句要不要改?改了后怎么测试它是正确的?很多人都属性 MySQL 但不熟悉达梦,这时候就要开始去看别人踩过的坑,下载一份官方手册,对照着看,估计一下工作量了。

qq_38148090的博客 7944

Mybatis - 无效的列类型: 1111

在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111 情况一 通过观察,如果是参数是Map类型或者Java Object类型,如果Map或者Object里面的属性类型不一致,如有些属性是String类型,有些属性是Integer类型,那么MyBatis解析的时候,就会出现问题,类型无法识别。 当然,如果传入参数不是Map或者Java Object,而是多个参数列表的形式,如果参数类型一致,那么不会出现问题,如果参数类型不一致,如既有String类型,也有Integ.

7852

Mybatis中动态SQL语句

类似于Java 的switch 语句,choose为switch,when为case,otherwise则为default。而使用if标签时,只要test中的表达式为true,就会执行if标签中的条件。foreach元素是非常强大的,它允许你指定一个集合,声明集合项和索引变量,它们可以用在元素体内。此外,如果标签返回的内容是以AND 或OR 开头的,则它会剔除掉。参数含义:index为数组的下标,item为数组每个元素的名称,名称随意,open循环开始,close循环结束,separator中间分隔输出。

weixin_47276069的博客 1520

oracle,MyIbats sql [17004] 无效的列类型

问题详情:         uncategorized SQLException for SQL []; SQL state [null]; error code [17004]; 无效的列类型; nested exception is java.sql.SQLException: 无效的列类型。    第一反应是不是sql写错了。   无效的数据类型, 比如在往numb

fyhjuyol的专栏 2万+

mybatis+mysql中一个标签内写两条sql语句报错

<update id="bindStu"> update edu_student set user_username=#{user_username} where stu_id = #{stu_id}; update edu_user set stu_id=#{stu_id} where user_username=#{user_username...

文戌 1098

SpringBoot Mybatis Oracle相关报错解决与原理源码解析:java.sql.SQLException 无效的列类型 1111

TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. java.sql.SQLException: 无效的列类型: 1111

Oxye 5425
上一篇: 多线程数据同步:管程法———wait() notifyAll()
下一篇: EgretMVC利用Scroller+List创建滑动列表
老龄码农
博客等级 码龄16年 9粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值