title: 关于Mybatis-plus调用baseMapper报错Invalid-bound-statement的解决 toc: true date: 2020-01-25 10:21:59 cover: https://img.paulzzh.com/touhou/random?9 categories: Mybatis tags: [Mybatis]
在Spring Boot项目中引入Mybatis-Plus之后, 直接调用baseMapper的方法时一直报错Invalid-bound-statement, 最后发现是依赖的问题
<br/>
<!--more-->在调用baseMapper的方法之后报错日志:
[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): top.jasonkayzk.ezshare.system.dao.mapper.DictMapper.selectById] with root cause
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): top.jasonkayzk.ezshare.system.dao.mapper.DictMapper.selectById
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)
at org.apache.ibatis.binding.MapperProxy.lambda$cachedMapperMethod$0(MapperProxy.java:98)
......
即找不到baseMapper的方法
<br/>
说明:
在使用Mybatis-Plus的时候, 可以通过继承IService, BaseMapper等从而获得ORM相关操作
<br/>
网上普遍的解决方法有:
<resource>
标签内容使其包括*.xml抱着侥幸心理尝试了大量的方法, 但是这些方法都没有解决
<br/>
最后怀疑是依赖问题, 大年初一一大早把Mybatis的依赖修改:
<!-- 修改前 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.starter.version}</version>
</dependency>
<!-- 修改后 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<br/>
<font color="#f00">**说明: 之前忘记添加Mybatis-Plus的启动依赖, 但是由于引入了mybatis-plus-generator的依赖, 让我误以为已经加入了依赖, 现在想来真是蠢得要命**</font>
<br/>