mybais-plus出现Invalid bound statement (not found)的解决方案

本文介绍了在SpringBoot项目中集成Mybatis-Plus时遇到'InvalidBoundStatement(notfound)'错误的解决方法。问题出现在未加载Mybatis-Plus场景启动器且未正确配置数据源。解决方案包括检查mapper.xml文件的SQL语句、@MapperScan注解的配置,以及在自动配置数据源下使用MybatisSqlSessionFactoryBean。同时,需要排除MybatisPlusAutoConfiguration以避免使用默认配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天笔者完善了一下自己写的项目,加上了数据库,之前都是靠着session来发电的。然后遇到了个问题,就是使用mybais-plus出现Invalid bound statement (not found)的bug。


一、笔者碰到这种问题的场景

1、使用spring boot集成mybatis-plus。
2、不加载mybatis-plus场景启动器,自动配置数据源。

二、如何解决这种问题

1、看看mapper.xml文件中是否存在自定义查询方法的sql语句。(这个错误其实经常出现,因为不小心打错字母o(╥﹏╥)o)

2、查询@MapperScan这个注解,看看项目启动类Applation中是否已经配置了这个注解,并且和自动配置的数据源扫包路径相冲突。

3、这一步是低级错误没犯的情况下,最可能出现的一个错误,笔者就是犯下的这个错误。自动配置数据源的情况下如果要使用mybatis-plus,就必须使用MybatisSqlSessionFactoryBean这个工厂对象来创建session工厂,不能选择默认的SqlSessionFactoryBean。SqlSessionFactoryBean只是一个接口,里面并没有具体的实现,需要自己写sql来对应方法,而MybatisSqlSessionFactoryBean中是做了一些不是太复杂的sql语句生成的,可以配合mybatis-plus中的一些方法使用。

顺便提一句:使用了自动配置数据源的方式后,需要将MybatisPlusAutoConfiguration这个配置类在Applation启动类中eclude掉,不然可能还是会使用原来的配置。当然eclude掉之后,你在配置文件中给mybatisPlus的配置也全部无效了,因为没有相关的属性配置类去读取了

资源下载链接为: https://pan.quark.cn/s/67c535f75d4c 在使用 Mybatis-Plus 的过程中,开发者可能会遭遇一个较为常见的错误——Invalid bound statement (not found)。该错误的出现,意味着 Mybatis-Plus 无法找到对应的 SQL 映射语句,而这种情况通常是由于配置方面存在一些问题,或者是某些必要的依赖没有添加所导致的。 当尝试执行 Mybatis-Plus 的 CRUD 操作,像 insert、update、delete 或 select 等操作时,如果 Mybatis-Plus 找不到对应的 Mapper 方法,就容易出现这个错误。出现这个错误的原因主要有以下几点:一是 Mapper 接口或者 XML 文件的配置不正确。要确保 Mapper 接口已经正确定义,且与对应的 XML 文件中的 SQL 映射语句能够匹配上。因为 Mybatis-Plus 是需要 Mapper 接口里定义的方法和 XML 文件中的 <insert>、<update>、<delete> 或 <select> 标签相对应的。二是 Mapper 扫描配置不完整。在 Spring Boot 的配置文件里,要保证 Mybatis-Plus 的 Mapper 扫描器已经正确配置好,这样才能让它找到所有的 Mapper 接口。例如,可以使用 @MapperScan 注解来指定包路径。三是存在依赖缺失的情况。就像案例中所提到的,如果缺少了必要的 Mybatis-Plus 依赖,就可能会导致这个错误。在 pom.xml 文件中,一定要确保已经添加了 Mybatis-Plus 的核心库,以及相关的启动器、注解和扩展库等。案例中的依赖如下: 四是实体类与数据库表不匹配。需要检查实体类(Entity)是否和数据库表结构保持一致,包括字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘丶沐逸尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值