org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cm.ithema.dao.IUserDao.findByName(这个是我接口类的方法)
为什么会出现这个错误呢?
原因:
是因为接口中方法名和对应的映射文件中id不一致
这个是我接口IUserDao中方法,注意方法名是:findByName
注意这个是我配置文件(Mapper,映射文件)中和上面方法所对应的:
配置文件中id=findUserByName,和上面方法名不一样,所以导致出错
在mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程。
当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句
所以要保持映射文件中的 id 和 接口中的方法名一样