深入了解MyBatis参数
深入了解MyBatis参数 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The expression 'xxx' evaluated to a null value." "Error evaluating expression 'xxx'. Return value (xxxxx) was not iterable." 不只是上面提到的这几个,我认为有很多的错误都产生在和参数有关的地方。 想要避免参数引起的错误,我们需要深入了解参数。 想了解参数,我们首先看MyBatis处理参数和使用参数的全部过程。 本篇由于为了便于理解和深入,使用了大量的源码,因此篇幅较长,需要一定的耐心看完,本文一定会对你起到很大的帮助。 参数处理过程 处理接口形式的入参 在使用MyBatis时,有两种使用方法。一种是使用的接口形式,另一种是通过SqlSession调用命名空间。这两种方式在传递参数时是不一样的,命名空间的方式更直接,但是多个参数时需要我们自己创建Map作为入参。相比而言,使用接口形式更简单。 接口形式的参数是由MyBatis自己处理的。如果使用接口调用