项目目录结构
最近学习mybatis整合,整合过程中出现Invalid bound statement(not found)这个异常,找了好久才找到
出现这个异常的原因有几个:
1.在映射文件*Mapper的namespace,如果*Mapper.xml文件和*Mapper.java文件在同一目录,肯定是匹配的,如果不在同一目录,此处为*Mapper.java的路径
<mapper namespace="com.share.dao.UserMapper">
<resultMap type="User" id="userResultMap">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="age" column="age"/>
<result property="birthday" column="birthday"/>
</resultMap>
2.注意spring配置文件中包扫描位置也有
如
<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.share.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
3.在*Mapper.xml中的id必须与*Mapper.java中的方法名一致,否则也会报相关的错误
*Mapper.xml
<mapper namespace="com.share.dao.UserMapper">
<resultMap type="User" id="userResultMap">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="age" column="age"/>
<result property="birthday" column="birthday"/>
</resultMap>
<select id="findById" parameterType="int" resultType="User" resultMap="userResultMap">
select * from user where id=#{id}
</select>
</mapper>
*Mapper.java
public interface UserMapper {
/**
* 根据用户id查询用户
*/
public User findById(Integer id);
由于很久没用了,复习一下,居然都忘了,导致了这么多问题,关于invalid bound statement(not found) 这个问题,我将这三个地方改好就好了。
相关推荐
在使用Mybatis-Plus时,有时开发者可能会遇到一个常见的错误——`Invalid bound statement (not found)`。这个错误意味着Mybatis-Plus无法找到对应的SQL映射语句,这通常是由于配置问题或者依赖缺失所引起的。本文将...
在使用MybatisPlus时,有时会遇到一个常见的错误——`Invalid bound statement (not found)`,这个错误通常发生在尝试调用BaseMapper中自动生成的方法时。本文将深入探讨这个问题的成因以及解决方法。 首先,`...
在使用MyBatisPlus进行开发时,可能会遇到一个常见的错误——`Invalid bound statement (not found)`。这个错误通常表示MyBatisPlus无法找到你尝试调用的Mapper接口的方法。本文将详细解析这个问题的原因以及提供...
在使用MyBatis框架进行开发时,可能会遇到一个常见的错误:`BindingException: Invalid bound statement (not found)`。这个错误通常意味着MyBatis无法找到你在Mapper接口中声明的方法与XML映射文件中对应的SQL语句...
出现以上的情况主要的原因是因为在主配置文件标签没正确的指向映射接口的配置文件。 解决方案:1.检查的name是否正确,如我的name属性填的就是com.it.dao 2、检查的class属性或resource属性,我resource这里写的是...
在MyBatis框架中,映射器(Mapper)是核心组件之一,它负责定义SQL语句和结果映射,使得数据库操作与业务逻辑解耦。本文将详细介绍如何在MyBatis配置中引入映射器,包括三种常见方法:文件路径引入、包名引入和类...
- "mybatis错误:Invalid bound statement (not found) -SELECT分页.url":这可能是一个常见问题,可能是由于Mapper接口与XML文件中的SQL语句未匹配导致,需要检查相关配置。 - "3使用MySQL的jdbc驱动关于时区引发的...
在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...
在上述问题中,报错信息是`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)`,这通常意味着Mybatis-Plus无法找到对应的Mapper方法。让我们分析一下可能的原因和解决方案: 1. **...
如果遇到错误`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.offcn.mapper.UserMapper.getUserList`,通常是因为映射文件的位置不正确或未包含在构建过程中。你可以尝试...