- 我们都知道 Mapper 是一个接口,它的每个方式是我们与数据库交互的入口,每个 Mapper 都有与之相对应的一个 XML 文件
- XML 文件用于存放sql语句,Mapper接口通过id绑定XML中的sql映射
Mapper 注册方式
- resource/mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<!-- 通过package元素将会把指定包下面的所有Mapper接口(interface)进行注册 -->
<package name="com.mybatis.dao"/>
<!-- 通过mapper元素的resource属性可以指定一个相对于类路径的Mapper.xml文件 -->
<mapper resource="com/mybatis/dao/UsersMapper.xml"/>
<!-- 通过mapper元素的url属性可以指定一个通过URL请求Mapper.xml文件 -->
<mapper url="file:///E:/UsersMapper.xml"/>
<!-- 通过mapper元素的class属性可以指定一个Mapper接口进行注册 -->
<mapper class="com.mybatis.dao.UsersMapper"/>
</mappers>
</configuration>
Mapper 绑定
- MyBatis框架在应用启动时会解析所有的Mapper接口,然后调用MapperRegistry对象的addMapper()方法将Mapper接口信息和对应的MapperProxyFactory对象注册到MapperRegistry对象中
- 因此,Mapper接口名的xml文件名必须一致,否则会导致Mapper接口和xml绑定失败,Mapper注册报错
- 映射名建议单驼峰格式,防止Mapper未找到
来自<https://www.jianshu.com/p/930dffa4e172>