springboot myabtis返回list对象集合,对象的一个属性为List对象

发布于:2025-08-15 ⋅ 阅读:(11) ⋅ 点赞:(0)

1. 需要返回的实体类

public class NutritionPackageVo{
//图片对象
private List<ImageUrlVo> imageUrlVos;
//用户id
private String userId;
}

2. ImageUrlVo

@ToString
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ImageUrlVo {
    private String medicineName;

    private String image;
}

3. mybatis返回结果集

<resultMap type="com.ls.domain.vo.NutritionPackageVo" id="NutritionPackageVoResult">
        <result property="id"    column="id"    />
        <result property="userId"    column="user_id"    />
        <collection property="imageUrlVos" ofType="com.ls.domain.vo.ImageUrlVo" select="selectMedicineImage" column="id"/>
    </resultMap>

4. sql语句

<select id="selectNutritionPackageList" parameterType="com.ls.domain.NutritionPackage" resultMap="NutritionPackageVoResult">
        select t1.* from ls_nutrition_package t1
    </select>
<select id="selectMedicineImage" resultType="com.ls.domain.vo.ImageUrlVo">
        select t4.image_url as image ,t4.name as medicineName from ls_user_info t1
        where t1.id=#{id}
    </select>

结果集标签中加入collection 标签,select标签对象一个新的sql语句,column代表传入新sql语句的参数,取得是第一个sql语句的id属性。这样就可以在对应的字段返回list对象了,如果是字段只想返回list<string>这种,第二个sql语句就只select 一个字段就可以了


网站公告

今日签到

点亮在社区的每一天
去签到