Mybatis实现自关联查询(多对一和一对多同时实现)

本文记录了使用Mybatis进行自关联查询的过程,涉及数据库表comment_tb的设计,实体类Comment的创建,CommentMapper.xml与接口的配置,以及CommentServiceIml的实现。通过association和collection标签,实现了对parentComment和replyComments的封装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

开始我想大喊,难受!由于之前没有做过表的自关联查询,刚开始做真是错漏百出,不过后面通过参考别人的做法一步步地做好了,因此趁热打铁记录一下。

步骤

一、数据库表(comment_tb)

在这里插入图片描述
自关联外键:
在这里插入图片描述
添加外键语句:

ALTER TABLE comment_tb ADD CONSTRAINT FK_Reference_self FOREIGN KEY(parent_id) REFERENCES comment_tb(id) ON DELETE CASCADE ON UPDATE CASCADE

二、实体类(Comment)

package com.liyue.blog.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author liyue
 */
public class Comment {
   
   
    private Long id;
    private String nickname;
    private String email;
    private String content;
    private String avatar;

    private Date createTime;
    private Date updateTime;

    private Blog blog;
    private List<Comment> replyComments = new ArrayList<>();
    private Comment parentComment;


    public Comment() {
   
   
    }

	//get、set方法

三、CommentMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liyue.blog.dao.CommentMapper">

    <resultMap id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值