org.apache.ibatis.binding.BindingException导致的原因

问题:框架:maven springMVC 整合mybatis 导致dao调用异常

经过了半天时间,一直困惑我的是明明dao层已经注入成功,但是dao层并没有调用mapper里面的方法,知道我把错误打印出来才知道是 org.apache.ibatis.binding.BindingException

百度查了很多,检查项目mapper里面的sql语句是否正确,检查annotation是否正确,注入是否正常,

现把spring注入一个代理,无法调用sql的情况归纳一下,主要排查几个方面:

1、dao接口和dao的xml是否在一个包内,命名是否一致:

如:UserDaoI.java则最好对应UserDaoI.xml

2、dao的xml里面的命名空间是否和dao的包名一致

如:UserDaoI.java 所在的包是mis.dao.user ,那么UserDaoI.xml 的namespace就应该为mis.dao.user.UserDaoI

3: xml里面的Id对应dao里面的方法名,如果方法名和xml里id不一致,则无法调用

4:还有就是一些参数对应是否正确,resultType,resultMap,parameterType等

 

 

原文地址:https://www.cnblogs.com/dayu007/p/7505263.html