<mapper resource="com/hm/mapper/UserMapper.xml"/>
这种配置mapper和package配置资源的区别?
1.package解析mapper过程, 获取name对应的路径,获取class下的mapper,根据mapper里的路径拼接.xml解析文件,此时命名空间要和resources路径一样,否则不进行mapper解析
2.resource解析mapper过程
获取resource的值构建一个输入流,并解析该文件 解析我们的namespace属性,此时namaspace的值就是配置文件中的值,所以不存在命名空间报错的情况, 除非进行crud操作写错命名空间才会 报错。
package模式第一次构建默认的命名空间是以mapper类名所在路径来进行构建的
第二次会判断第一次的命名空间和配置中的是否一致,如果一致则通过,不一致则报错。
综上所述:resouces和package解析过程一模一样就是多了一个命名空间的判断。都是解析
resultMap,
select|insert|update|delete等