mybatis中的collection嵌套sql查询

本文详细探讨了在MyBatis中如何使用collection进行嵌套SQL查询,涵盖了映射配置、动态SQL以及多层数据关联的处理方法。通过对实际案例的分析,揭示了在Java应用中有效管理复杂数据库查询的技巧。
<resultMap id="UserPhotoMap" type="com.example.user.bean.UserPhotoMsg">
    <id column="id" property="id" />
    <result column="account" property="account" />
    <result column="name" property="name" />
    <result column="sex" property="sex" />
    //嵌套查询语句collection中的column属性,是需要传入嵌套sql中的参数,参数必须是外层中有的字段
    //可以多个参数,也可以单个参数
    //多参形式:如 photoUserId=id,photoName=name
    //参数相当于把id赋于photoUserId,name赋于photoName
    //在嵌套sql中就可以使用被赋予的属性名称#{photoUserId},#{photoName}
    // collection中的select属性是写嵌套sql的映射位置,位置是嵌套sql在项目中的mapper层的方法名称
    <collection property="photoMessage" select="com.example.user.mapper.UserMapper.showPhotos" column="id">
    </collection>
</resultMap>
<select id="showUserList" resultMap="UserPhotoMap">
    select u.id,u.account,u.sex from user u
</select>

<resultMap id="photoMap" type="com.example.photomessage.entity.PhotoMessage">
    <id column="id" property="id" />
    <result colu
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值