文章标题

深入理解mybatis原理

mybatis一对多关系配置

resultMap返回类型配置

<resultMap id="baseResultMap" type="cn.com.api.res.CityOperatorsManageInfoWrapper">
        <result column="city_code" property="city_code" jdbcType="INTEGER" />
        <result column="count" property="count" jdbcType="INTEGER" />
        <result column="currentCount" property="currentCount" jdbcType="INTEGER" />
        <collection property="areaLists" column="city_code" 
           fetchType="eager"
           ofType="cn.com.api.entity.CityOperatorsManageInfo"
           select="getAreasByCityCode">
        </collection>
    </resultMap>

属性含义
1. property 对应javaBean(pojo)中的属性值
2. column 对应数据库中的字段
3. jdbcType 对应数据库中字段类型

collection

  • 可用于一对一
  • collection元素 对应javaBean中的集合类型,如List
  • property对应javabean中集合的名称
  • column 一对多关联关系
  • fetchType 懒加载声明,若mybatis配置文件中的lazyLoadingEnabled属性设置为true,则一对多加载时必须生命fetchType属性
  • ofType 一对多查询时,多的一方返回的类型
  • select 一对多查询的查询语句,需要在xml映射文件中声明,id为select的值
  • 主查询中必须将关联的关系的值查询,如该配置主查询中 select city_code from A 。city_code必须在select中声明

mybatis一对一查询

association

resultMap配置

<resultMap type="Classes" id="ClassesResultMap">
<id property="id" column="c_id" />
<result property="name" column="c_name" />
<association property="teacher" column="teacher_id" javaType="Teacher">
<id property="id" column="t_id" />
<result property="name" column="t_name" />
</association>
<resultMap>

与collection不同点
  • javaType 类似于collection中的ofType
  • fetchType 懒加载声明,若mybatis配置文件中的lazyLoadingEnabled属性设置为true,则一对多加载时必须生命fetchType属性
  • 其他与collection相同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值