MapperRegistry:注册绑定我们的Mapper文件;
1 mybatis全局配置文件引入
方式1:使用mapper resouce属性注册mapper xml文件
<mappers>
<mapper resource="Mapper xml的路径(相对于classes的路径)"/>
<mapper resource="com/ni映射器 mappers/dao/UserMapper.xml"/>
</mappers>
注意 直接引用的xml,Mapper xml中namespace同名的Mapper接口(接口存在)
方式2:使用mapper class属性注册Mapper接口
<mappers>
<mapper class="接口的完整类名" />
<mapper class="com.ni.dao.UserMapper"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名
- 接口和他的Mapper配置文件必须在同一个包下
mybais去加载class对应的接口,然后还会去加载该接口同目录下的同名xml文件
同目录
编译之后的文件中少了UserMapper.xml,还需要在pom.xml中project下添加如下配置:
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>
方式3:使用package元素批量注册Mapper接口
批量注册Mapper接口(类似别名包扫描)
<mappers>
<package name="需要扫描的包" />
<package name="com.ni.dao"/>
</mappers>
mybatis会扫描package元素中name属性指定的包及子包中的所有接口 做为Mapper接口进行注册
法一
放一起有点难受 可以接口(放在java目录下) xml(放在resources)分离
法二
法二 接口 xml分离目录同名
2 springboot中配置
1.启动类
//在xxxApplication启动类中添加包扫描
@MapperScan(basePackages = “xxx”)
2.在pom.xml中添加如下配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>