Springboot2 MybatisPlus

Book接口继承了BaseMappr,不知道为什么会出现这种情况,BaseMapper里面的方法都使用不了,求解答

img

mapper是不是没有加注解@Mapper

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/904510
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:springboot集成mybatisPlus发现BaseMapper里面的默认方法不能用
  • 除此之外, 这篇博客: MyBatis-Plus:如何通过扩展baseMapper,添加一些自定义的查询方法中的 步骤2.创建注入器,把自定义方法添加到集合当中。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    @Component
    public class MySqlInjector extends DefaultSqlInjector {
    
        @Override
        public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
            List<AbstractMethod> methodList = super.getMethodList(mapperClass);
            // 添加自定义方法类
            methodList.add(new SelectByIdNoLockMethod());
            return methodList;
        }
    }
    
  • 以下回答由chatgpt基于相关博客总结生成:

    问题原因可能是没有正确配置数据源或没有正确注入BaseMapper。

    首先,确保你的项目中正确配置了数据源。根据参考资料中的段落2,可以在application.properties文件中配置多个数据源,确保每个数据源的配置信息都是正确的,包括数据库URL、驱动类名、用户名和密码。

    然后,在你的Book接口中,确保正确注入BaseMapper。可以按照以下步骤进行操作:

    1. 在Book接口上添加@Mapper注解,以确保它被正确扫描和注入。

    2. 在Book接口中继承BaseMapper接口,代码如下:

    @Mapper
    public interface BookMapper extends BaseMapper<Book> {
        // 可以自定义书籍相关的方法或覆盖BaseMapper中的方法
    }
    
    1. 确保Book实体类已经定义,并且符合MybatisPlus的要求。

    这样,你就可以在BookMapper接口中使用BaseMapper中定义的方法了。例如,可以使用BookMapper的insert()方法插入一本书籍的记录:

    bookMapper.insert(book);
    

    如果你仍然无法使用BaseMapper中的方法,请检查以下问题:

    • 数据源配置是否正确,尤其是数据库URL、驱动类名、用户名和密码是否正确。
    • 是否正确引入了MybatisPlus的依赖,例如在pom.xml文件中是否有类似以下的依赖配置:
    <dependency>
        <groupId>com.baomidou.mybatisplus</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>2.3.5</version>
    </dependency>
    
    • 是否正确使用了@MapperScan注解扫描Mapper接口,例如在启动类中是否添加了类似以下的注解配置:
    @SpringBootApplication
    @MapperScan("com.example.mapper") // 替换为你的Mapper接口所在的包路径
    public class MyApplication {
        public static void main(String[] args) {
            SpringApplication.run(MyApplication.class, args);
        }
    }
    

    如果以上步骤都正确,但仍然无法使用BaseMapper中的方法,可能是由于版本兼容性或其他问题。此时,建议查阅MybatisPlus官方文档、在线社区或进行在线调试,以获取更多帮助和解决方案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^