SQL映射文件几个顶级元素配置

SQL映射文件

MyBatis 真正强大之处在于SQL映射语句,也是他的魅力所在。相对于它强大的功能,SQL映射文件的配置却非常简单。下面是关于SQL映射文件的几个顶级元素配置:

  • mapper:映射文件的根元素节点,只有一个属性namespace(命名空间)作用如下:1.用于区分不同的mapper,全局唯一,2.绑定DAO接口,即面向接口编程。当namespace绑定某一接口之后,可以不用写该接口的实现类,MyBatis会通过接口的完整限定名查找对应的mapper配置来执行SQL语句。因此namespace的命名空间必须跟接口同名。
  • cache:配置给定命名空间的缓存。
  • cache-ref:从其他命名空间引用缓存配置。
  • resultMap:用来描述数据库结果集和对象的对应关系。
  • sql:可以重用的SQL块,也可以被其他语句引用。
  • insert:映射插入语句。
  • update:映射更新语句。
  • delete:映射删除语句。
  • select:映射查询语句。

关于MyBatis的SQL映射文件中的mapper元素的namespace属性有如下要求:

1. namespace的命名空间必须跟某个DAO接口同名,同属于DAO层,故代码结构上,映射文件与该DAO接口应放在同一package下,并且习惯上都是以Mapper结尾(UserMapper.java,UserMapper.xml)。
2. 在不同的mapper文件中,子元素的id可以相同,MyBatis通过namespace和子元素的id联合区分。接口中的方法与映射文件中SQL语句id相对应。

猜你喜欢

转载自blog.csdn.net/qq_41385798/article/details/81320954