MybatisPlus resultMap标签collection的注解写法

需求,查询用户,用户对象中包含组织机构简称的List(对象的话selectOrgAbbNameByUsersId 方法返回List对象即可)

public class UserListVo extends BaseVo<User> {

    private String usersId;
    private String name;
    private String usersCode;
    private String usersName;
    private List<String> orgAbbNames;
    private Date creationTime;
    private Date updateTime;
}

添加 @Results注解

    @Results(id = "userListVo",value = {
            @Result(id = true,column ="users_id" ,property ="usersId" ),
            @Result(column = "name" ,property = "name"),
            @Result(column = "users_code",property = "usersCode"),
            @Result(column = "users_name",property = "usersName"),
            @Result(column = "users_id", property = "orgAbbNames" ,javaType=List.class ,many = @Many(select = "selectOrgAbbNameByUsersId")),
            @Result(column = "creation_time",property = "creationTime"),
            @Result(column = "update_time",property = "updateTime")
    })
    @Select("select *  " +
            "FROM  base.t00_users  A " +
            " ${ew.customSqlSegment} ")
    IPage<UserListVo> queryUserListByConditions(Page page, @Param(Constants.WRAPPER) QueryWrapper<UserListVo> orgWrapper);
    @Select("select A.orgz_abb_name " +
            "FROM  public.t01_orgz  A " +
            "LEFT JOIN base.t00_dept B  ON (A.orgz_code = B.orgz_code) " +
            "LEFT JOIN base.t00_dept_users_rel C ON (B.dept_id=C.dept_id) " +
            "WHERE C.users_id = #{usersId} ")
    List<String> selectOrgAbbNameByUsersId (@Param("usersId") String usersId);

查询结果


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容