关联查询sql

java实体:

package cn.tedu.note.entity;

import java.io.Serializable;
import java.util.List;

public class Post implements Serializable {
    private static final long serialVersionUID = -929206547879400506L;

    private Integer id;
    private String content;
    
    private Person person;
    private List<Comment> comments;
    
    public Post() {
    }

    public Post(Integer id, String content, Person person) {
        super();
        this.id = id;
        this.content = content;
        this.person = person;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }

    public List<Comment> getComments() {
        return comments;
    }

    public void setComments(List<Comment> comments) {
        this.comments = comments;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Post other = (Post) obj;
        if (id == null) {
            if (other.id != null)
                return false;
        } else if (!id.equals(other.id))
            return false;
        return true;
    }

    @Override
    public String toString() {
        return "Post [id=" + id + ", content=" + content + ", person=" + person + ", comments=" + comments + "]";
    }
    
}

2.SQL语句XML文件中:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="cn.tedu.note.dao.PostDao">
    <resultMap type="cn.tedu.note.entity.Post"
        id="postMap">
        <id column="id" property="id"/>
        <result column="content"
            property="content"/>
        <association property="person"
            javaType="cn.tedu.note.entity.Person">
            <id column="pid" property="id"/>
            <result column="name" property="name"/>
        </association>
        <collection property="comments"
            javaType="list"
            ofType="cn.tedu.note.entity.Comment"
            select="findComments"
            column="id">
        </collection>
    </resultMap>
    <select id="findComments"
        parameterType="int"
        resultType="cn.tedu.note.entity.Comment">
        select
            id,
            content,
            post_id
        from
            p_comment  
        where
            post_id = #{id}
    </select>
    
    <select id="findPostById"
        parameterType="int"
        resultMap="postMap">
        select
            p.id,
            p.content,
            p.person_id,
            u.id as pid,
            u.name
        from
            p_post p
        join p_person u on (p.person_id=u.id)
        where
            p.id=#{id}
    </select>
</mapper>








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值