mybatis-plus通用mapper调用报错:Invalid bound statement
发布日期:2021-05-08 12:13:14 浏览次数:16 分类:精选文章

本文共 1145 字,大约阅读时间需要 3 分钟。

在使用Spring Boot整合MyBatis-Plus时,可能会遇到以下问题:调用自定义方法正常,但调用BaseMapper中自带的方法却报错。错误信息如“Invalid bound statement (not found): cn.rkang.enterprise.mapper.EmployeeInfoMapper.selectOne”通常表明MyBatis尝试调用一个未能找到映射的SQL语句。

常见原因分析

  • XML配置文件缺失或错误:如果使用MyBatis的XML配置文件,可能缺少了对应的SQL语句映射,或者配置文件路径错误。

  • 注解驱动配置问题:使用MyBatis-Plus的注解驱动时,可能未正确配置@Mapper注解,或者扫描包路径错误。

  • 版本兼容性问题:不同版本的MyBatis或MyBatis-Plus可能对某些配置有不同要求,需确认当前版本与其他依赖项的兼容性。

  • MappedStatement组装失败MappedStatement未能正确组装,可能是因为resolveMappedStatement未能找到对应的SQL语句。

  • 解决方法

    用户提到将MyBatis的SQLSessionFactory替换为MyBatis-Plus的MybatisSqlSessionFactoryBean,并添加了配置类MybatisPlusConfig。配置类中设置了数据库连接、脚本语言、数据库字段命名等参数,并解决了MappedStatement的问题。

    以下是优化后的解决方案:

  • 检查Mapper接口配置

    • 确保Mapper接口使用了@Mapper@Select注解,并且每个方法都有对应的SQL语句映射。
    • 如果使用注解驱动,确保扫描包路径正确,避免遗漏任何Mapper接口。
  • 配置类优化

    • 确保MybatisPlusConfig类正确配置了所有必要的插件和设置,例如数据库IdProvider、脚本语言驱动等。
    • 检查数据库字段命名设置,避免因为字段命名不一致导致MyBatis无法正确找到映射。
  • 数据库连接验证

    • 确认数据库连接和数据源配置正确,避免因为连接问题导致无法加载SQL语句。
  • MyBatis-Plus配置检查

    • 确认MybatisSqlSessionFactoryBean配置正确,包括数据源、VFS类、配置文件路径等。
    • 检查resolveMappedStatement方法是否能正确找到对应的SQL语句,必要时可以添加日志或调试信息来跟踪过程。
  • 版本兼容性检查

    • 确认MyBatis和MyBatis-Plus的版本是否与其他依赖项兼容,必要时升级到最新版本以修复潜在问题。
  • 通过以上步骤,用户应该能够定位并解决问题,确保所有SQL语句都能被正确组装和执行。

    上一篇:mysql锁知识笔记
    下一篇:BeanUtils.copyProperties()拷贝id属性失败

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月13日 06时12分48秒