Mybatis 在Maven项目中使用package标签引入Mapper

前言

在使用mybatis的时候,我们需要在mybatis.xml中进入XXXMapper.xml。但是我们一条一条的引入太过于复杂。幸运的是,我们可以可以使用 <package>标签引入一个包中所有的mapper文件和接口。

问题

在Maven项目中,代码和资源文件是分开存放的,所以我们需要通过某种方法将xml的配置文件和Java接口的class文件,在打包后放到同一个目录中。

解决方法

Interface文件路径

我的接口文件是放在icu.xiaobai.mybatis.dao

image-20220206085115393

StudentMapper.xml文件路径

我们需要在resource目录下创建一个新的目录 icu/xiaobai/mybatis/dao

这里需要注意的是,创建目录的时候,必须是通过/分割子目录,而不是向创建包一样,通过.创建子目录。

image-20220206085315531 image-20220206085338231

运行

这样我们就能够正确的运行代码了,通过target目录,我们可以看到 StudentMapper.xmlStudentMapper.class文件被放在同一个目录。

image-20220206085455626

问题

如果这两个文件并没有放到同一目录中的时候,你应该检查在resource创建子目录的时候,是否使用/作为分隔符,而不是.