mybatis java.sql.SQLException: 无效的列类型

博客讲述使用MyBatis时遇到无效列类型错误,网上普遍做法是加jdbctype,但较麻烦。作者在寻找用拦截器打印查询语句结果集数量时,偶然发现可通过改配置文件解决该问题,测试成功,无需再写臃肿语句。

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

Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型

用过mybatis的人一定都遇到过这样的错误吧,网上都说是加上jdbctype就行了。确实可以,但是也太麻烦了,而且说到底,就是mybatis的默认设置太坑了。

我今天在寻找如何用拦截器打印查询语句结果集数量时,偶然看到了这样的信息
在这里插入图片描述
因为下面的LogImpl的值就是我刚刚手动配置的,所以立刻想到了这样改配置文件

  <settings>
   <!-- 
    <setting name="logImpl" value="LOG4J"/>
   -->
    <setting name="logImpl" value="connTest.conn.NbLog"/>
    <setting name="jdbcTypeForNull" value="VARCHAR"/>
  </settings>

测试了一下,确实成功了。再也不用写#{param1,jdbcType=VARCHAR} 这样臃肿的语句了,可以直接#{param1}。

真是意外之喜,只是打印查询结果集数量的方法依旧没找到。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值