文档章节

Mybatis 报无效的列类型 两种解决办法

耀子
 耀子
发布于 2015/08/20 15:26
字数 188
阅读 15733
收藏 5

最近忙,好久没来写博文了,惭愧。今天遇到如题的问题,就是在mybatis 插入oracle数据库空值的报的异常:   org.springframework.jdbc.UncategorizedSQLException: Error setting null parameter.  Most JDBC drivers require that the JdbcType must be specified for all nullable parameters. Cause: java.sql.SQLException: Invalid column type ; uncategorized SQLException for SQL []; SQL state [null]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type

开始sql是这样写的insert into user(id,name) values(#{id},#{name}) 

解决方法:

一、指定插入值得jdbcType,将sql改成 insert into user(id,name) values(#{id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR}) 


二、在mybatis-config.xml文件中配置一下,添加settings配置,如下:(推荐)

<configuration>

......

<settings>

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

</settings>

......

</configuration>

问题解决,继续码码,希望常来写博文,共同学习~~~

© 著作权归作者所有

共有 人打赏支持
耀子
粉丝 6
博文 29
码字总数 4647
作品 0
东城
程序员
加载中

评论(2)

安小乐
安小乐
我也是遇到了这个错。我加上jdbcType=VARCHAR后,就不报错了。
安小乐
安小乐
你好,请问,是不是写成#{id,jdbcType=VARCHAR}这种格式,(也就是加上jdbcType=VARCHAR)就算id的值为null,mybatis也不会把这个字段拼到sql语句给数据库执行呢?
Mybatis 插入数据后返回主键值

Oracle中获取刚刚插入记录的主键值: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProp......

残风vs逝梦
2014/08/18
0
1
MYBATIS 无效的列类型: 1111

前天遇到一个问题 异常显示如下: Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #6 with JdbcType OTHER . Try set......

菠萝啊哈哈
2014/03/20
0
1
Mybatis中的jdbcType的作用

Mybatis中的jdbcType的作用 使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错误,也就是无效的列类型,这个时候你就要使用jdbcType。至于什么时候要使用到javaT...

architect刘源源
05/03
0
0
mybatis配置文件解析错误解决方法

转:mybatis写mapper文件注意事项 mybatis3mappercdatamybatis3 null xml中某些特殊符号作为内容信息时需要做转义,否则会对文件的合法性和使用造成影响 < < > > & & ' ' " " 在mapper文件中写...

菠萝啊哈哈
2013/07/23
0
2
通用Mapper插入时处理Null字段有什么好办法

c.z.f.m.s.b.DefaultPublicServiceProcessor - nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='wayBillId'......

泛泛oO之辈
2017/03/02
259
2

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
54分钟前
0
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
3
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
2
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
3
0
中秋快乐!!!

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部