<typeAliases>
:配置 封装数据的 POJO 类的所在包名。
Mapper映射XML文件中的:
<mapper>
:XML的根元素,namespace定义当前XML的命名空间
resultType
:定义当前查询的返回值类型,如果没有配置 <typeAliases>
,这里就要写 POJO的全限定名
当只使用XML而不使用接口的时候,namespace
的值可以为任意不重复的名称。用于区分不同XML映射文件中相同ID的SQL语句。
当Mapper接口和XML文件关联的时候,命名空间namespace
的值就需要配置为,接口的全限定名。
mybatis内部需要通过这个值,将接口和XML关联起来
<mappers>
<package name="tk.mybatis.simple.dao"/>
</mappers>
<!-- 等价于 -->
<!-- MapperScannerConfigurer 中的 setBasePackage("tk.mybatis.simple.dao") -->
这种配置方式 会查找 tk.mybatis.simple.dao 包下的所有接口,循环对接口进行如下操作
1. 判断接口对应的命名空间是否已经配置过,有就抛异常,没有就继续
2. 加载接口对应的XML映射文件, 将接口全限定名转换为路径,例如:
tk.mybatis.simple.dao.UserDao.java --> tk/mybatis/simple/dao/UserDao.xml
搜索XML资源, 如果找到就进行解析XML