org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。
Mapper接口开发需要遵循以下规范:
-
Mapper.xml文件中的namespace与mapper接口的类路径相同。
-
Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
-
Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
-
Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
然后我自己报出这个错,找了一下午,各种对名字,百度的方法都不管用,最终发现了问题所在原因是----- resources 底下xml和mapper接口的路径不同,这里我创建的包名是com.example.mapper.auto,它在这里不是一级一级的创建文件夹而是创建了一个com.example.mapper.auto名字的一个包,所以需要com/example/mapper/auto 这样创建