博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis——返回类型为 集合嵌套集合 应该如何处理
阅读量:5950 次
发布时间:2019-06-19

本文共 2038 字,大约阅读时间需要 6 分钟。

hot3.png

    最近在练习时 遇到了类似于 企鹅里的好友分组功能,使用的持久层框架是mybatis 第一次处理这种关系 记录一下 备忘。。

首先是表结构:094154_tnoj_3259168.png

       <user_group > 好友分组 、 <t_group> 用户与好友分组的关联表 、 <t_user> 用户表

实现需求的返回格式:

        095033_41St_3259168.png

之后就到了重点,处理这种数据格式 重点在Mybatis的resultMap 和 对应的实体类:

        分组实体类 UserGroupsView

public class UserGroupsView {        /**     * 好友分组ID     */    @Id    private Integer id;    /**     * 好友分组名     */    @Column(name = "groupname" )    private String groupName;    /**     * 分组下好友集合     */    private List
userGroupViewList;}

         分组下好友实体类UserGroupView

public class UserGroupView {    /**     * 好友分组ID     */    @Id    @Column(name="user_group_id")    private Integer userGroupId;    /**     * 好友ID     */    @Column(name = "friend_id")    private Integer friendId;    /**     * 用户昵称     */    private String username;    /**     * 在线状态 online:在线、offline:离线、hide:隐身     */    private String status;    /**     * 用户签名     */    private String sign;    /**     * 头像URL     */    private String avatar;    /**     * 是否删除 0,(否)/1,(是)     */    @Column(name = "is_delete")    private Integer isDelete;}

在mybatis中的处理:

    这里的重点应该是 id为UserGroupsMap 中的返回集合类型上,这个resultMap返回的集合 对应着UserGroupView实体类 所以返回到 分组实体类中 是一个集合。

        对应mapper的interface

public interface UserGroupMapper extends Mapper
{ // 获取用户好友分类 及其分类下的好友 List
selectGroups();}

        执行sql语句的返回结果大概是这样:

转载于:https://my.oschina.net/danjuan/blog/906437

你可能感兴趣的文章
SQL Server差异备份的备份/还原原理
查看>>
java 内部类
查看>>
leetcode - Search in Rotated Sorted Array II
查看>>
coursera课程Text Retrieval and Search Engines之Week 2 Overview
查看>>
如何导出已有的谷歌插件,又如何把导出的插件安装到360浏览器中,又如何对插件小修小改?...
查看>>
[PWA] Enable Push Notification in your web app
查看>>
【转载】JS中bind方法与函数柯里化
查看>>
隐藏与显示铵钮
查看>>
H5版俄罗斯方块(3)---游戏的AI算法
查看>>
PCL深度图像(2)
查看>>
Cisco 2960交换机配置
查看>>
EBS条形码打印
查看>>
zookeeper常用命令
查看>>
关于日志打印的几点建议以及非最佳实践
查看>>
scheduler 基本原理
查看>>
cocos JS 定时器
查看>>
PHP-"php://(类型)"访问各个输入/输出流以及全局变量$HTTP_RAW_POST_DATA讲解
查看>>
Android(java方法)上实现mp4的分割和拼接 (一)
查看>>
关于行内元素的margin padding一些说明;background-color的范围
查看>>
数据库三范式
查看>>