场景:使用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相关推荐

  1. mybatis 查询报错:SQLException: 无效的列类型: 1111

    Mybatis 查询报错java.sql.SQLException: 无效的列类型: 1111 出现这个问题不要慌,根据报错日志定位到出错的查询语句,由于粗心,没有将查询条件添加"判空&qu ...

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

    以一下是Insert的SQL语句增加时报错"无效的列类型",也没用说是哪个属性,真的痛苦. INSERT INTO SCOTT.PM_SUPPLIER (SUPPLIER_ID,S ...

  3. java.sql.SQLException: 无效的列类型: 1111 报错问题解决

    在项目中利用Mybatis做持久化框架,XXXMapper.xml中insert语句做插入时,偶然会遇到一些报错或者说是问题,如下: 报错日志: nested exception is org.apa ...

  4. Mybatis - 无效的列类型: 1111

    在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111 情况一 通过观察,如果是参数是Map类型或者Java Object类型,如果Map或者Object里面的属性类型不一 ...

  5. oracle 无效的列类型 1111,MYBATIS 无效的列类型: 1111

    前天遇到一个问题 异常显示如下: Exception in thread "main" org.springframework.jdbc.UncategorizedSQLExcep ...

  6. mybatis 无效的列类型: 1111

    MyBatis 查询出现 无效的列类型: 1111异常,检查查询参数是不是null了. 就这样

  7. Mybatis向Oracle数据库写数据时报错:无效的列类型1111

    1.出现这种报错最常见就是将null值插入数据库而未指定jdbcType.MySQL下直接插入null值时,在该字段允许为空时是不会有问题,Oracle就不行,需要显式指定jdbcType: #{up ...

  8. java报错无效的列索引,java.sql.SQLException: 无效的列索引

    java.sql.SQLException: 无效的列索引 "无效的列索引"其实是个低级的错误,原因无非几个: 1.sql串的?号数目和提供的变量数目不一致: 例如:jdbcTem ...

  9. ibatis报错:无效的列索引

    错误日志如下: 根据日志提示为sqlmap-ec-search.xml文件的getNonCarNewEdrBaseInfos的plyNo处存在问题,找到SQL出错位置,如图: 仔细检查后未发现任何问题 ...

最新文章

  1. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)
  2. 【单片机】写电子钟时遇到的问题
  3. mvc4.0 html.actionlink comfired,未触发MVC 5远程验证
  4. 5款实用的硬盘、SSD固态硬盘、U盘、储存卡磁盘性能测试工具绿色版
  5. 深入场景洞察用户 诸葛io决胜2017国际黑客松大赛
  6. 贝塞尔曲线开发的艺术
  7. Java22-day13【Lambda表达式(标准格式、练习、注意事项)、接口组成更新(默认-静态-私有方法)、方法引用(构造器)】
  8. 从优青到杰青:优秀青年科技人才成长典型特征
  9. Android 系统性能优化(81)---Android后台优化系列-background optimization-初识低耗电模式
  10. Spring Data JPA使用Sort进行排序(Using Sort)(转)
  11. 怎么把音频转换成mp3格式?
  12. pr新建字幕样式(模板)
  13. 【Camera】通过查看位置方向的平面进行灵活的相机校准
  14. 高精度极限电阻的测试技巧
  15. idea pom中的依赖加载成功import报红解决方法
  16. 老式计算机组装教程,旧机械硬盘可以装新电脑上吗?台式电脑加新/旧机械硬盘+分区教程...
  17. 虚拟机如何使用共享文件夹传文件
  18. Delphi实现局域网聊天01
  19. 金融客户标签画像与客群查询使用HIVE+Hbase+Es实践(一)
  20. MATLAB GUI设计II 多功能模式题目生成器 四则运算 | 界面切换 | 字符串处理 | cell数组 | GUI

热门文章

  1. 一只鸟如何打乱一个人一天的节奏
  2. Nginx极客时间:rewrite阶段的rewrite模块:return指令
  3. 随笔(如何提高系统的响应速度)
  4. 计算器存储功能怎么用_iPhone 11的双卡双待功能怎么用?如何设置?
  5. verilog/system verilog语法
  6. 多线程一,什么是多线程,创建多线程的几种方式
  7. 互联网汽车开进景区,天猫双11期间飞猪未来景区玩出新花样
  8. 靠播放量tiktok赚钱,tiktok播放量可以赚钱吗?
  9. 初识Filemaker(一)
  10. 二维码的原理以及怎么生成二维码