mybatis 多层嵌套查询

效果预览

在这里插入图片描述

1.1第一步 建立表结构

文章表

在这里插入图片描述

评论表

在这里插入图片描述

用户表

在这里插入图片描述

1.2 第二步

因为我们得出的查询结果有两个集合的,创建Vo表

 @Data 
 @AllArgsConstructor 
 @NoArgsConstructor 
 //这里继承了user 所以省略写 
 public class UserListArticleVo extends User{
     /**
      * 文章集合 
     */
     private List<Article> articleList;
 @Data
  public class ArticleListComment extends Article{
 
 
     private List<Comment> commentList; }

Mapper接口
在这里插入图片描述

这步很重点 resultMap

>     <resultMap type="com.blog.entity.UserListArticleVo" id="MapListVo">
> 
>         <!--user-->
>         <id property="userId" column="user_id" jdbcType="VARCHAR"/>
>         <result property="userName" column="user_name" jdbcType="VARCHAR"/>
>         <result property="passWord" column="pass_word" jdbcType="VARCHAR"/>
>         <result property="userImg" column="user_img" jdbcType="VARCHAR"/>
>         <result property="phone" column="phone" jdbcType="VARCHAR"/>
>         <result property="email" column="email" jdbcType="VARCHAR"/>
>         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
>         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
> 
>        articleList对应的是 UserListArticleVo 的文章集合字段
>         <collection property="articleList" ofType="com.blog.entity.Article" resultMap="ArticleListCommentMap"/>
> 
>     </resultMap>
    <resultMap type="com.blog.entity.ArticleListComment" id="ArticleListCommentMap">
>         <id property="articleId" column="article_id" jdbcType="INTEGER"/>
>         <result property="articleTitle" column="article_title" jdbcType="VARCHAR"/>
>         <result property="articleContent" column="article_content" jdbcType="VARCHAR"/>
>         <result property="userId" column="user_id" jdbcType="INTEGER"/>
>         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
>         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
>         <collection property="commentList" ofType="com.blog.entity.Comment"
>                     resultMap="com.blog.dao.CommentDao.CommentMap"/>
>     </resultMap>

查询语句

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值