使用Mybatis/TkMybatis/Mybatis-Plus框架报错:无效的列类型: 1111
场景:使用TkMybatis/Mybatis-Plus等封装好CRUD框架有时候需要更新或新增某个字段的值为null存到数据库,但是往往出现如下错误:
Caused by: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:47)
at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:87)
... 48 more
Caused by: java.sql.SQLException: 无效的列类型: 1111
原因:Mybatis的xml方法传入的参数的字段为null,无法获取到对应的jdbcType类型,从而报错。
解决方法:
一、指定插入值的jdbcType,将xml方法的sql改成`insert into user(id,name) values({id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR}) `,或者xml文件判空。
这种方法对于TkMybatis/Mybatis-Plus框架行不通,因为我们是直接调用ORM封装好的CRUD方法,并不想自己新写Mybatis方法来修改xml内容。
二、修改Mybatis配置,添加 jdbc-type-for-null: 'null'
# mybatis配置
mybatis:configuration:# 开启在控制台输出日志,生产关闭log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# oracle不加报错jdbc-type-for-null: 'null'
使用Mybatis/TkMybatis/Mybatis-Plus框架报错:无效的列类型: 1111相关推荐
- mybatis 查询报错:SQLException: 无效的列类型: 1111
Mybatis 查询报错java.sql.SQLException: 无效的列类型: 1111 出现这个问题不要慌,根据报错日志定位到出错的查询语句,由于粗心,没有将查询条件添加"判空&qu ...
- MyBatis增加时报错“无效的列类型”
以一下是Insert的SQL语句增加时报错"无效的列类型",也没用说是哪个属性,真的痛苦. INSERT INTO SCOTT.PM_SUPPLIER (SUPPLIER_ID,S ...
- java.sql.SQLException: 无效的列类型: 1111 报错问题解决
在项目中利用Mybatis做持久化框架,XXXMapper.xml中insert语句做插入时,偶然会遇到一些报错或者说是问题,如下: 报错日志: nested exception is org.apa ...
- Mybatis - 无效的列类型: 1111
在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111 情况一 通过观察,如果是参数是Map类型或者Java Object类型,如果Map或者Object里面的属性类型不一 ...
- oracle 无效的列类型 1111,MYBATIS 无效的列类型: 1111
前天遇到一个问题 异常显示如下: Exception in thread "main" org.springframework.jdbc.UncategorizedSQLExcep ...
- mybatis 无效的列类型: 1111
MyBatis 查询出现 无效的列类型: 1111异常,检查查询参数是不是null了. 就这样
- Mybatis向Oracle数据库写数据时报错:无效的列类型1111
1.出现这种报错最常见就是将null值插入数据库而未指定jdbcType.MySQL下直接插入null值时,在该字段允许为空时是不会有问题,Oracle就不行,需要显式指定jdbcType: #{up ...
- java报错无效的列索引,java.sql.SQLException: 无效的列索引
java.sql.SQLException: 无效的列索引 "无效的列索引"其实是个低级的错误,原因无非几个: 1.sql串的?号数目和提供的变量数目不一致: 例如:jdbcTem ...
- ibatis报错:无效的列索引
错误日志如下: 根据日志提示为sqlmap-ec-search.xml文件的getNonCarNewEdrBaseInfos的plyNo处存在问题,找到SQL出错位置,如图: 仔细检查后未发现任何问题 ...
最新文章
- Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)
- 【单片机】写电子钟时遇到的问题
- mvc4.0 html.actionlink comfired,未触发MVC 5远程验证
- 5款实用的硬盘、SSD固态硬盘、U盘、储存卡磁盘性能测试工具绿色版
- 深入场景洞察用户 诸葛io决胜2017国际黑客松大赛
- 贝塞尔曲线开发的艺术
- Java22-day13【Lambda表达式(标准格式、练习、注意事项)、接口组成更新(默认-静态-私有方法)、方法引用(构造器)】
- 从优青到杰青:优秀青年科技人才成长典型特征
- Android 系统性能优化(81)---Android后台优化系列-background optimization-初识低耗电模式
- Spring Data JPA使用Sort进行排序(Using Sort)(转)
- 怎么把音频转换成mp3格式?
- pr新建字幕样式(模板)
- 【Camera】通过查看位置方向的平面进行灵活的相机校准
- 高精度极限电阻的测试技巧
- idea pom中的依赖加载成功import报红解决方法
- 老式计算机组装教程,旧机械硬盘可以装新电脑上吗?台式电脑加新/旧机械硬盘+分区教程...
- 虚拟机如何使用共享文件夹传文件
- Delphi实现局域网聊天01
- 金融客户标签画像与客群查询使用HIVE+Hbase+Es实践(一)
- MATLAB GUI设计II 多功能模式题目生成器 四则运算 | 界面切换 | 字符串处理 | cell数组 | GUI