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

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解释一下这句话的意思大体上说的是绑定的语句体没有找到。具体可从以下几个方面可以解决

  1. 检查 xml的namespace 是否是和Mapper接口一一对应。举个栗子:
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

按住ctrl 键,鼠标是否可以点击SysUserMapper 跳转到 Mapper接口中。

  1. SysUserMapper 接口没有 对应的 SysUserMapper.xml 。

  2. UserMapper 接口的方法 没有和xml的 返回类型 resultMap resultType 对应。编写对应即可。

  3. 还有一点就是在yml中 ,配置一下映射类所在的包名。
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

  4. 如果还是不行的话,那就试试这个,配置文件中知道mapper 文件的位置。
    mapper-locations: classpath:mapper/*.xml

以下的mybatis plus 的yml 配置 大家可以参考一下

mybatis-plus:
  # 实体扫描,多个package用逗号或者分号分隔
  type-aliases-package: com.origin.service.domain
  global-config:
    db-config:
      id-type: auto
      table-underline: true
      logic-delete-value: 1
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
      logic-delete-field: flag
    banner: false

  configuration:
    # 配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId)
    map-underscore-to-camel-case: true
    cache-enabled: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:mapper/*.xml
`
还是不行的话,那就看看启动类中是否增加了@MapperScan 注解。  
`
@MapperScan("com.origin.service.domain.mapper")
`

大功告成。再见。宝宝们。
上一篇:c++中二分查找中的binary_search,lower_bound,upper_bound


下一篇:idea报错:MyBatis Invalid bound statement (not found): com.xx.xx.StudentMapper.getStudents