🧙‍♂️ 代码炼金术士的日常:用TRAE快速解决MyBatis+Oracle的Null值报错

大家好,我是CodeAlchemist​:waving_hand: 一个天天和Java、Oracle打交道的后端开发。

上周遇到一个经典问题:MyBatis操作Oracle时报错“Invalid column type: 1111”,相信很多用Oracle的小伙伴都踩过这个坑。

【问题场景】
在批量更新时,某个字段传入了null值,MyBatis默认使用JdbcType.OTHER,但Oracle不认这个类型,直接报错。

【传统解法】
在Mapper XML里给每个字段加jdbcType:
#{fieldName, jdbcType=VARCHAR}

但问题来了:几十个字段挨个加,手都快废了:sob:

【TRAE神助攻】
这时我请出了TRAE帮忙:

  1. 选中整个Mapper文件,输入指令:“为所有参数添加jdbcType,字符串类型加VARCHAR,数字类型加INTEGER”
  2. TRAE秒级识别并批量添加
  3. 一键应用,10分钟的工作10秒搞定!

【效果对比】
修改前:半小时+眼瞎风险
修改后:10秒+喝着咖啡搞定

【小贴士】
如果全局都想解决这个问题,可以在application.yml配置:
mybatis:
configuration:
jdbc-type-for-null: ‘null’

但TRAE这种精准“下药”的方式,既解决问题又不影响全局,我觉得更优雅!

大家遇到过这个坑吗?欢迎交流讨论:backhand_index_pointing_down:

1 个赞