关于mybatis使用报错invalid bound statement (not found)的解决方法

关于mybatis找不到mapper映射文件解决方法

最近在学习mybatis和spring的整合,碰到一个算不上问题的问题,在dao层中找不到映射的mapper文件

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xuan.shopping.dao.EcArticleTypeMapper.getEcArticleTypes

于是搜了一下,出现这种情况大部分是由于配置产生的。解决方法有以下几点:

  1. 检查 mapper.xml和接口类名称是否一致
    关于mybatis使用报错invalid bound statement (not found)的解决方法_第1张图片
  2. 检查 mapper.xml 中 namespace 等于是否与mapper接口地址一致
    关于mybatis使用报错invalid bound statement (not found)的解决方法_第2张图片
  3. 检查 mapper.xml 中 statement的id是否与接口类的方法名称一致
    关于mybatis使用报错invalid bound statement (not found)的解决方法_第3张图片
    到这里,可能的情况大概就这么多了。但是我一检查,并没有发现类似情况。忽然回想到之前学习的时候看到,要让xml文件和dao层接口类在编译后生成在同一个文件夹,于是我去看class文件夹,果然没有发现xml文件。但是让我恍然大悟的是下面有一个整个包名的文件夹,xml文件在这个文件夹里面关于mybatis使用报错invalid bound statement (not found)的解决方法_第4张图片
    解决办法:在resources文件夹下创建与包同级目录需要用“/”代替“.”,此时创建好文件夹后将xml文件放入,编译运行,问题解决。关于mybatis使用报错invalid bound statement (not found)的解决方法_第5张图片

你可能感兴趣的:(mybatis)