问题:框架: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等