使用ResultMap进行一对多查询
2020-12-03 本文已影响0人
明月几何8
resultMap不仅可以用于列名和Bean属性名不匹配的情况,还可以进行一对多的查询,使用resultMap中的collection
属性
属性:
- property:映射数据库列的实体对象的属性
- ofType:完整Java类名或者别名(集合所包括的类型)
- resultMap:引用外部resultMap
- select:引用别的Dao层方法
子元素:
- id
- result:
- property:映射数据库列的实体对象的属性
- column:数据库列名或者别名
方式一:
<resultMap id="detail" type="com.zlm.user.User">
<id column="ID" property="id"/>
<result column="NAME" property="name"/>
<result column="SEX" property="sex"/>
<collection property="addressList"
ofType="com.zlm.entity.user.Address">
<id column="ADDRESS_ID" property="id"/>
<result column="PROVINCE" property="province"/>
<result column="CITY" property="city"/>
</collection>
</resultMap>
方式二:
<resultMap id="detail" type="com.zlm.entity.user.User">
<id column="ID" property="id"/>
<result column="NAME" property="name"/>
<result column="SEX" property="sex"/>
<collection property="addressList"
column="ID"
select="com.zlm.dao.user.AddressDao.getAddressList">
</collection>
</resultMap>
第二种方式可用于分页列表查询,第一种不适于分页列表查询,分页数据会出现错误