springboot mybaties Invalid bound statement (not found) 错误

本文详细解析了在SpringBoot项目中遇到的MyBatis Mapper调用异常问题,包括错误信息的具体含义、可能的原因及排查步骤。从检查Mapper注解到验证XML配置,再到确认方法是否存在,提供了一套完整的解决方案。

错误信息:

 org.apache.catalina.connector.RequestFacade@5151cc1f, 
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 
    com.test.frame.demo.domain.mapper.clusterMapper.UserMapper.getUserList

错误原因:
spring boot里面的mapper和mubaties里面的mapper的方法没对应上。
排查步骤:
1.看spring的mapper是否有注解mapper

import org.apache.ibatis.annotations.Mapper;
@Component
@Mapper  

2.查看xml文件内spring boot 的mapper类和mybaties的xml文件的映射路径是否正确

 //对应Mapper的包名称
 static final String PACKAGE = "com.test.frame.demo.domain.mapper.clusterMapper";
 //对应配置的xml文件的路径    mapper/**/*.xml
 static final String MAPPER_LOCATION = "classpath:mapper/cluster/**/*.xml";

3.上面都没问题,那就看mybaties对应的文件里面的标签设置的mapper路径是否对

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liulangtao.frame.demo.domain.mapper.masterMapper.MasterUserMapper">

4.在就是查看mybaties文件的xml文件里面是否有你要调用的方法

<?xml version="1.0" encoding="UTF-8" ?>
<mapper namespace="com.liulangtao.frame.demo.domain.mapper.masterMapper.MasterUserMapper">
    <insert id="insertUser" parameterType="com.liulangtao.frame.demo.domain.entity.User">
       insert  into  demousers set name =#{name,jdbcType=VARCHAR},age=#{age,jdbcType=INTEGER}
    </insert>

<select id="getUserList" resultType="com.liulangtao.frame.demo.domain.entity.User">
    SELECT t.age,t.name FROM demousers t
</select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值