MyBatis mappers元素标签及其属性、配置

时间:2022-12-01 18:45:36


mappers:映射器,以最佳的方式是告诉 MyBatis 到哪里去找映射文件。
<!-- 使用相对于类路径的资源引用,要满足一个条件:1.即映射文件只要放在类路径下,就可以 根据相对路径找到,放在resourses(设置为了内部资源的文件夹 )目录下即可。 <mappers>   <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>   <mapper resource="IStudentDao.xml"/> </mappers>   映射文件名可以和Dao接口的简单类名不相同 映射文件的<mapper/>标签的namespace的值可以谁便写:<mapper namespace="xxx"></mapper>
<!-- 使用完全限定资源定位符(URL) url可以注册在本地磁盘上的映射文件,不常用--> <mappers>   <mapper url="file:///var/mappers/AuthorMapper.xml"/>   <mapper url="file:///var/mappers/BlogMapper.xml"/>   <mapper url="file:///var/mappers/PostMapper.xml"/> </mappers>

<!--
使用下面的注册方式需要满足以下三点要求:
1) 映射文件要与Dao接口在同一个包下
2) 映射文件名要与Dao接口的简单类名相同
3) 映射文件的<mapper/>标签的namespace属性值为Dao接口的全限定性类名
满足以上三个条件,那么这里的class属性值就可以填写Dao接口的全限定性类名
-->
<mapper class="com.abc.dao.IStudentDao"/>
<!--
使用下面的注册方式需要满足以下四点要求:
1) 映射文件要与Dao接口在同一个包下
2) 映射文件名要与Dao接口的简单类名相同
3) 映射文件的<mapper/>标签的namespace属性值为Dao接口的全限定性类名
4) 使用动态Mapper
满足以上四个条件,那么这里的name属性值就可以填写Dao接口所在的包名

-->
<package name="com.abc.dao"/>
  注意:   1、当采用class、package方式时,映射文件(Mapper.xml)和接口必须命名相同,并且放在与接口同一目录下。(尽量不要采用这种方法)   2、当采用class方式时,没有SQL映射文件,所有的SQL都是利用注解写在接口上,这样就可以避免注意1的事情发生,提高维护性,不是很重要的SQL语句可以采用注解的方式,这样可以提高开发速度,重要和复杂的接口、SQL建议还是采用SQL映射文件的方式。(尽量采用这种方法)