文章目录
一、问题描述
问题: mybatis 中接口和对应的 mapper 文件位置不同,而引起的操作也会不同,在网上找了好久最终找到了方法,这里就简单的解析一下:
-
我们知道在典型的 maven 工程中,目录结构有:
src/main/java
和src/main/resources
,前者是用来存放 java 源代码的,后者则是存放一些资源文件,比如配置文件等。 -
Mybatis 中接口和对应的 mapper 文件不一定要放在同一个包下。
-
放在一起的目的: 为了 Mybatis 进行自动扫描,并且要注意此时 Java 接口的名称 和 mapper文件的名称 要相同,否则会报异常,由于此时 Mybatis 会自动解析对应的接口和相应的配置文件,所以就不需要配置 mapper 文件的位置了。
所以下面就针对 mapper 的方式位置进行详细分析:有各种各样的情况,如下:
二、关于Mapper.xml文件的放置位置
1. 和接口放在一起
1、跟 接口 放在一块。 通常在 src/java/com…/repository 目录(repository层也写做 dao层 或 mapper层),如下:
Mybatis 配置文件中不需要配置 mapper 的位置(配置了也没问题),如下:
注意: 这种情况下:
① 需要在 pom.xml 中添加一些配置,否则 xml 文件读取不进来:
<build></