在项目过程中,执行sql,报“JDBC requires that the JdbcType must be specified for all nullable parameters.”,查看源代码,发现来源于mybatis-XXX.jar的org.apache.ibatis.type.BaseTypeHandler.class,如下图:
搜集资料,有网友总结的说SQL语句有错,参数名拼写、参数数量等问题导致抛出该异常,平时开发应检查一下这方面。
我遇到的业务场景是:如果sql报错,屏蔽错误,继续后续流程,此处就需要关注关于异常捕获的相关知识。我调用的执行服务方法使用的throws关键字进行了声明(使用throws声明的方法表示此方法不处理异常,而是交给方法的调用处进行处理),导致该异常抛出阻断了业务。后续通过添加try-catch进行异常捕获处理,问题得到解决。