Mybatis的Mapper映射文件中常用标签

127 阅读2分钟

1.Mapper 标签

Mapper 标签是 Mybatis 中最重要的标签之一,它用于描述 SQL 映射关系。Mapper 标签有以下属性:

  1. namespace:指定 Mapper 接口的完整路径名。

  2. resultMap:指定结果映射关系,将查询结果映射成 Java 对象。

  3. parameterMap:指定参数映射关系,将 Java 对象映射成 SQL 参数。

  4. sql:定义可重用的 SQL 片段。

  5. insert、update、delete、select:定义对应的 SQL 语句及参数映射关系。

2.ResultMap 标签

ResultMap 标签用于描述查询结果集与 Java 对象之间的映射关系。ResultMap 标签有以下属性:

  1. id:指定 ResultMap 的唯一标识符。

  2. type:指定映射的 Java 对象类型。

  3. extends:指定继承的 ResultMap。

  4. discriminator:用于多表关联查询时进行分组判断。

  5. constructor、id、result、association、collection:用于定义映射关系

3.ParameterMap 标签

ParameterMap 标签用于描述 Java 对象与 SQL 参数之间的映射关系。ParameterMap 标签有以下属性:

  1. id:指定 ParameterMap 的唯一标识符。

  2. type:指定映射的 Java 对象类型。

  3. parameter、result、parameterMap、resultMap:用于定义映射关系。

4.Sql 标签

Sql 标签用于定义可重用的 SQL 片段,可以在 SQL 映射文件中多次引用。Sql 标签有以下属性:

  1. id:指定 Sql 片段的唯一标识符。

  2. databaseId:指定 Sql 片段适用的数据库类型。

  3. lang:指定 Sql 片段使用的脚本语言。

  4. statementType、parameterType、resultType:用于定义 Sql 片段的类型信息。

5.insert、Update、Delete、Select 标签

Insert、Update、Delete、Select 标签分别对应 SQL 语句中的插入、更新、删除和查询操作。这些标签都有以下属性:

  1. id:指定 SQL 语句的唯一标识符。

  2. parameterType:指定输入参数类型。

  3. resultMap:指定结果映射关系。

  4. flushCache、useCache:控制缓存行为。

  5. timeout:指定 SQL 执行超时时间。

  6. statementType:指定 SQL 类型。

  7. keyProperty、keyColumn:仅对插入操作有效,用于获取自动生成的主键值。