> 是MyBatis的自动映射,适用于列名与属性名匹配的简单场景。是手动映射,通过显式配置处理列名不匹配、一对多等复杂关系,控制力更强。 我们来详细解析一下 MyBatis 中 和 的区别、用法和选择时机。这是 MyBatis 中一个非常核心且重要的概念。 一、 核心思想 一句话概括: :自动映射。MyBatis 会自动将查询结果的列名与 指定的 Java 对象的属性名进行匹配并赋值。它是一种“约定优于配置”的简化模式。 :手动映射。你需要显式地定义一个 ,在其中详细描述数据库列名与 Java 对象属性名之间的映射关系。它提供了完全的控制权,用于处理复杂或不匹配的场景。 --- 二、 详解 用于指定 SQL 查询结果集应该被映射成的 Java 类型。它适用于简单的映射场景。 1. 工作原理 MyBatis 获取到查询结果后,会遍历每一行数据。对于每一行,它会尝试创建一个 指定类型的实例,然后将列名(或列的别名)与对象的属性名进行匹配。 匹配规则: MyBatis 会自动将下划线命名法(如 )的列名转换为驼峰命名法(如 )的属性名进行匹配。 这个自动转换功能需要通过配置开启(在 中...