mybatis中Oracle参数为NULL错误解决

本文介绍在使用MyBatis操作Oracle数据库时遇到的问题及解决方案。主要针对Oracle数据库中插入null值时出现的类型不匹配错误。通过两种配置方法解决此问题:一是全局设置jdbcTypeForNull为NULL;二是直接在SQL映射文件中指定参数类型为NULL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Mybatis操作Oracle数据库的时候( PS:mysql中不会出现),会遇到个小问题,
当数据库为Oracle时候,插入某个参数数据如果为null,mybatis会报错,提示类型不正确,
原因是当插入数据为null类型的时候,mybatis会自动转换为JdbcType.OTHER类型,因此需要修改一下参数的转换类型

有两种方式可以解决:

1.公共配置方法:
在Mybatis配置中设置jdbcTypeForNull=NULL,
即:

<settings>
   <setting name="jdbcTypeForNull" value="NULL"/>
</settings>

2.参数配置方法
修改mybatis的sql语句参数通配符,设置当参数为null时候采用 JdbcType.NULL类型
即:
select * from tb where name = #{name,jdbcType=NULL}
如上两种方式配置,都可以解决Oracle下参数为null操作错误问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值