昨天帮朋友写一本java程序,因为好久没动手写java的代码了,而且mybatis也是第一次接触,代码写好后执行,就提示一个奇怪的错误:
org.apache.ibatis.ognl.NoSuchPropertyException:ijava.util.Arrays$ArrayList.XXXXXXX
其中XXXXXX部分是我定义的List类型的参数,提示消息说没有XXXXXX属性,看来系统把这个参数作为属性来进行识别了。
最后经过搜索和一番试用调查,发现,在Dao的接口方法定义中,如果把这个参数(List类型)放在参数列表第一个位置,问题就可以完美解决,放在其他位置,出现就会出现。
真是奇哉怪也!其内部原因暂时还没搞清楚!
总结下,因为是第一次接触ibatis,刚碰到这个问题后感到很奇怪,最后问题虽然解决了,但我想,如果将来想要成为这方面的大拿人物,系统学习mybatis的内部运行机制,是非常有必要的。
对了,如果有朋友知道这个问题的内部机制的话,敬请指教!感谢!