MyBatis resultMap元素的结构及使用

MyBatis的resultMap元素用于将数据库列名映射到Java实体类的属性名。它有以下结构:

<resultMap id="map_id" type="entity_class">
  <id property="id" column="column_name" />
  <result property="property_name" column="column_name" />
</resultMap>

– id:表示结果映射的唯一标识

– type:指定结果映射所映射的Java实体类

– id:表示主键映射,一个resultMap只能有一个id元素

– property:实体类的属性名

– column:数据库表的列名例如,有一个Student实体类:

java
public class Student {
  private int id;
  private String name;
  private int age;
}

对应的数据库表为:

student 
├── id  
├── name
└── age

则resultMap配置如下:

<resultMap id="studentMap" type="Student">
  <id property="id" column="id" />
  <result property="name" column="name" /> 
  <result property="age" column="age" />
</resultMap> 

在select语句中使用resultMap属性指定映射:

<select id="selectStudents" resultMap="studentMap">
  select * from student
</select>

此时调用selectStudents方法,返回的Student对象中的属性名将对应数据库列名,实现了自动映射。

总结,MyBatis的resultMap实现了对象关系映射,让我们可以独立于数据库列名来设定Java实体类的属性,极大的简化了数据库对象映射过程。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论