记一次spring boot 配置失误导致的异常org.apache.ibatis.binding.BindingException: Invalid bound statement

在整合spring boot 和mybatis 时 ,进行单元测试时,报错:

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

com.yunda.study.mybatis.dao.mapper.UserMapper.findByUserId

这种情况,是找不到UserMapper.中的方法findByUserId,一般情况下:

按以下步骤一一执行: 
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应 
2、检查xml文件的namespace是否和xml文件的package名称一一对应 
3、检查函数名称能否对应上 
4、去掉xml文件中的中文注释 
5、随意在xml文件中加一个空格或者空行然后保存 (来自网络摘要哦)

但是仔细,检查和操作也无济于事。

于是,去看全局配置文件,application.yml

路径配置的也是对的,但是,就是没起作用,于是,笔者突然,鬼一般的,将配置文件的mybatis前的空格去掉,顶格,和spring配置位于同一级,发现起作用了,之前sql语句打印部分的配置,也没有起作用,将位置调整后,也同样生效了。

给出yml文件如下:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://127.0.0.1:3309/sell2?characterEncoding=utf-8&useSSL=false
  jpa:
    show-sql: true
  jackson:
    default-property-inclusion: non-null

logging:
     level:
    #设置mybatis的sql语句打印到控制台。
      com.yunda.study.mybatis.dao.mapper: trace
mybatis:
    mapper-locations: classpath:mapper/*.xml

猜你喜欢

转载自blog.csdn.net/RUIMENG061511332/article/details/82150587