org.apache.ibatis.binding.BindingException【原因汇总】

简介: 从网上找到的资源,自己整理了一些,不辜负原来的整理着。背景:Spring整合Mybatis报错:org.

从网上找到的资源,自己整理了一些,不辜负原来的整理着。

背景:Spring整合Mybatis

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

解释:就是说,你的Mapper接口,被Spring注入后,却无法正常的使用mapper.xml的sql;

         这里的Spring注入后的意思是,你的接口已经成功的被扫描到,但是当Spring尝试注入一个代理(MyBatista实现)的实现类后,却无法正常使用。这里的可能发生的情况有如下几种;

  1. 1、接口已经被扫描到,但是代理对象没有找到,即使尝试注入,也是注入一个错误的对象(可能就是null)

  1. 2、接口已经被扫描到,代理对象找到了,也注入到接口上了,但是调用某个具体方法时,却无法使用(可能别的方法是正常的)

  2. 3、mapper接口和mapper.xml是否在同一个包(package)下?名字是否一样(仅后缀不同)?

  1. 比如,接口名是NameMapper.java;对应的xml就应该是NameMapper.xml

  2. 4、mapper.xml的命名空间(namespace)是否跟mapper接口的包名一致?
    比如,你接口的包名是com.abc.dao,接口名是NameMapper.java,那么你的mapper.xml的namespace应该是com.abc.dao.NameMapper

  3. 5、接口的方法名,与xml中的一条sql标签的id一致
    比如,接口的方法List<User> findAll();那么,对应的xml里面一定有一条是<select id="findAll" resultMap="**">****</select>

  4. 6、配置maven环境资源
  5. 如果接口中的返回值List集合(不知道其他集合也是),那么xml里面的配置,尽量用resultMap(保证resultMap配置正确),不要用resultType
  6. 最后,如果你的项目是maven项目,请你在编译后,到接口所在目录看一看,很有可能是没有生产对应的xml文件,因为maven默认是不编译的,因此,你需要在你的pom.xml的<build></build>里面,加这么一段:
            <resources>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>

我就是坑在了第5点上,折腾了四个多小时,大家及时发现。

目录
相关文章
|
3月前
|
IDE Java 应用服务中间件
解决org.apache.jasper.JasperException异常
解决org.apache.jasper.JasperException异常
|
3月前
|
Java 数据库连接 mybatis
【已解决】nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘qcBizname‘ not found
【已解决】nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘qcBizname‘ not found
99 0
|
4月前
|
Java 数据库连接 数据库
org.apache.ibatis.session.AutoMappingUnknownColumnBehavior
org.apache.ibatis.session.AutoMappingUnknownColumnBehavior
46 0
|
11月前
|
XML Java 数据库连接
解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
解决在mybatis中出现的org.apache.ibatis.exceptions.PersistenceException~
967 0
|
XML SQL Java
【SSM】nested exception is org.apache.ibatis.binding.BindingException: Invalid boun原因总结
【SSM】nested exception is org.apache.ibatis.binding.BindingException: Invalid boun原因总结
1043 0
【SSM】nested exception is org.apache.ibatis.binding.BindingException: Invalid boun原因总结
|
SQL Java 数据库连接
nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘‘ not found. Ava
用mybatis写注解SQL的执行报错,这个报错有很多原因就不说了,说一下我的问题 同一个mapper中方法有重名的,虽然编译没报错,相当于重载了,但是执行的时候就报错了 方法写的太多了都没注意
|
SQL XML Java
org.apache.ibatis.binding.BindingException: Parameter ‘startTime‘ not found. Available parameters
org.apache.ibatis.binding.BindingException: Parameter ‘startTime‘ not found. Available parameters
181 0
|
SQL
org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration
org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration
83 0
|
Java 数据库连接 mybatis
org.apache.ibatis.binding.BindingException: Type interface is not know to the MapperRegistry.
错误原因 没有将映射文件引入到MyBatis的核心文件中。 将映射文件引入即可。
147 0
org.apache.ibatis.binding.BindingException: Type interface is not know to the MapperRegistry.
|
XML Java 数据库连接
org.apache.ibatis.binding.BindingException: Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
org.apache.ibatis.binding.BindingException: Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
279 0
org.apache.ibatis.binding.BindingException: Invalidbound statement (not found)的解决方案和造成原因分析(超详细)