适配oracle数据库的时候,mybatis报了Error setting null parameter,bug发现是参数出现了null值,对于Mybatis,如果进行操作的时候,没有指定jdbcType类型的参数,就可能导致问题。
postgreSQL,MySQL,SQLSERVER都支持JdbcType.NULL类型,Oracle是不支持,适配的时候也因为这个问题导致mybatis报错。
例如用代码生成工具生成的插入
<insert id="insert" parameterType="cmcc.om.log.entity.Log" >
insert into OM_LOG (ID, USER_ID, APP_ID,
LOG_OBJECT, LOG_OPERATION, PLATFORM_LOGID,
LOG_TYPE, LOG_LEVEL, LOG_TIME
)
values (#{id,jdbcType=CHAR}, #{userId,jdbcType=OTHER}, #{appId,jdbcType=OTHER},
#{logObject,jdbcType=OTHER}, #{logOperation,jdbcType=OTHER}, #{platformLogid,jdbcType=OTHER},
#{logType,jdbcType=DECIMAL}, #{logLevel,jdbcType=DECIMAL}, #{logTime,jdbcType=DATE}
)
</insert>
或有#{userId,jdbcType=
OTHER} ,这样虽然oracle设置值可以为空还是会报错,如果是字符类型改成#{userId,jdbcType=
VARCHAR}就没问题了,日期类型就改成DATE,反正就是改成本来的类型,OTHER的话Oracle比较傻,不知道怎么办
分享到:
相关推荐
主要介绍了mybatis使用char类型字段查询oracle数据库时结果返回null问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
SpringBoot+mybatis+Oracle整合代码,测试通过,可以学习下载。
给大家分享MyBatis Oracle 自增序列的实现方法及mybatis配置oracle的主键自增长的方法,非常不错具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
spring 结合mybatis操作oracle数据
这是一个用mybatis框架连接oracle数据库的例子,可在eclipse上运行,需要在oral建test表包涵(id,age,username,password)字段,
mybatis乱码的解决方法 gbk iso-8859-1 ibatis3乱码
Mybatis oracle迁移mysql修改总汇
spring boot mybatis oracle 例子 1. 排序条件带上 2.分页语句下面连着查询语句 PageHelper.startPage(1, 2, "RECORD_DATE desc"); 实现分页,包已经导入了
mybatis逆向工程oracle的自动代码生成工具,只需配置数据库的链接信息接口
spring+springmvc+mybatis+oracle 整合所需jar包
mybatis + oracle demo 比较简单的例子、入门很试用哦~
从csdn上面下载的,经过自己改良的ligerUI spring struts2 mybatis oracle简单项目,利用后端传值在jsp页面上显示 很简单 适合初学者
本文给大家浅析mybatis oracle blob类型字段的保存与读取,blob字段是指二进制大对象,用来存储大量文本数据。感兴趣的朋友一起学习吧
maven+spring+springmvc+mybatis+oracle的整合,使用idea。
mybatis 整合oracle (含增删改查)
idea配置maven+Springboot+mybatis+oracle 整合,idea
myeclipse使用maven整合SSM(spring+springMVC+mybatis)框架,oracle数据库
自己写的一个小接口,改个数据库配置就可以跑起来,包含了测试的客户端,没有多少注释,这个简单应该不难看懂
实现了oracle多条数据的插入,并通过优化,防止内存不足和缩短运行时间,另外通过mybatis的generator工具自动生成dao层,vo层,xml层文件.
mybatis返回int会报错,改成Integer封装类型可以解决,具体参考我的博客