我们学习了如果从一个数据库表中查询数据,并映射到ResultMap的方法,但是我们知道数据库不可能只有一张表,表和表之间的关系有好几种,遇到多表关联时,该如何使用resultMap呢?今天小博老师就给大家介绍,在处理表的一对一关系映射时,resultMap中association元素标签的使用方法。
先看一下我们的User类:
User中包含了一个Gendar属性对象:
意味着用户和性别的一对一关系。我们希望在查询User对象时,Gendar对象也能够自动查询出来并赋值,那么我们的resultMap可以如下定义:
Association元素用于处理“has-one”(一对一)这种类型关系。比如在我们的例子中,一个User有一个Gendar。Association联合映射与其它的结果集映射工作方式差不多,指定property、column、javaType(通常MyBatis会自动识别)、jdbcType(如果需要)、typeHandler。其子元素与其他结果集的子元素也相同,包括id、result子元素。