自己的错误总结:
两次踩坑,第一次找到了那个坑,第二次再次踩了同样的坑,找了老半天才找到。 特此总结:
一些低级的原因我就不细说了:
第一步,检查文件名是否一致:
一般都是接口的名字和sql映射文件的名字不一样,所以要先过了这一关。(如果是使用mybatis逆向工程生成的代码等,则忽略此步骤)
第二步:检查mybatis全局配置文件(mybatis-config.xml):
<mappers>
<!--绑定注册类路径(Resources文件夹下)下单个sql映射文件,多个文件多些几行-->
<!--<mapper resource="mapper/EmpMapper.xml"/>-->
<!--批量绑定接口下的多个sql映射文件,需要sql文件名和对应接口名字一样,
并且sql映射文件和接口文件在同一个包下(如都在src/main/com/fan/mapper下)-->
<package name="com.fan.mapper"/>
<!--绑定接口下的sql单个映射文件,需要sql文件名和对应接口名字一样,多个绑定多个标签-->
<!--<mapper class="com.fan.mapper.EmpMapper"></mapper>-->
</mappers>
第三步:重点来了
使用批量的注册的话(package 方式),我们需要在maven中使用
<!-- 扫描处了resources之外的其他xml文件所在的包-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
如果是mybatis的代码生成器则使用以下maven:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--引入mybatis生成器-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<!-- 扫描处了resources之外的其他xml文件所在的包-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
然后测试:完美运行。