【Java】org.apache.ibatis.binding.BindingException

【Java】org.apache.ibatis.binding.BindingException

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。

Mapper接口开发需要遵循以下规范:

  1. Mapper.xml文件中的namespace与mapper接口的类路径相同。
  2. Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
  3. Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
  4. Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

然后我自己报出这个错,找了两天,各种对名字,最终发现了问题所在原因是----- resources 底下xml和mapper接口的路径不同,这里我创建的包名是com.health.mapper,它在这里不是一级一级的创建文件夹而是创建了一个com.health.mapper名字的一个包,看图:

【Java】org.apache.ibatis.binding.BindingException
正确的应该是这样的:
【Java】org.apache.ibatis.binding.BindingException

所以需要com/health/mapper 这样创建

以上是 【Java】org.apache.ibatis.binding.BindingException 的全部内容, 来源链接: utcz.com/a/98330.html

回到顶部