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}。
真是意外之喜,只是打印查询结果集数量的方法依旧没找到。。。