MyBatis框架——MyBatis Mapper(映射器)(转载)

末蓝、 2023-09-29 12:48 98阅读 0赞

映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。

映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。

  • 定义参数类型
  • 配置缓存
  • 提供 SQL 语句和动态 SQL
  • 定义查询结果和 POJO 的映射关系

映射器有以下两种实现方式。

  • 通过 XML 文件方式实现,比如我们在 mybatis-config.xml 文件中描述的 XML 文件,用来生成 mapper。
  • 通过注解的方式实现,使用 Configuration 对象注册 Mapper 接口。

如果 SQL 语句存在动态 SQL 或者比较复杂,使用注解写在 Java 文件里可读性差,且增加了维护的成本。所以一般建议使用 XML 文件配置的方式,避免重复编写 SQL 语句。

#

#

#

XML实现映射器

XML 定义映射器分为两个部分:接口和XML。下面先定义接口 WebsiteMapper(本节基于《第一个MyBatis程序》中的示例实现)。

eca0cb522e58beeef6d7e03979cb36df.png

922169446313cb3974c637897967da73.png

6ee2accb55e14dbecced21c3365e551c.png

93d373dd8abaab659ac097908cf4df08.png

MyBatis 映射器的主要元素

下面介绍在映射器中可以定义哪些元素,以及它们的作用。

cccce971ff849d06a80c189f4143210c.png

拓展

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

  • namescape 的命名必须跟某个 DAO 接口同名,同属于 DAO 层,因此代码结构上,映射文件与该接口应放置在同一 package 下(如 net.biancheng.dao.website),并且习惯上是以 Mapper 结尾(如 WebsiteMapper.java、WebsiteMapper.xml)。
  • 不同的 mapper 文件中子元素的 id 可以相同,MyBatis 通过 namescape 和子元素的 id 联合区分。接口中的方法与映射文件中的 SQL 语句 id 应一 一对应。

发表评论

表情:
评论列表 (有 0 条评论,98人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mybatis映射文件Mapper

    前提说明 1. 使用Dao接口+映射文件的方式创建Dao对象 2. 在接口方法参数中可以使用@Param(“别名”)来指定当前参数的名称,在映射文件中使用\\{别名\

    相关 mybatis 映射

    mybatis 映射器 1 映射器 Mapper 是由java接口和 XML 文件共同组成。它的作用如下 1)定义参数类型 2)描述缓存 3)描述 SQL 语句 4