MyBatis 一对多的查询实例

情况:一个班级下面有多名学生

需求:查询该班级下面的所有学生

解决:首先分析属于数据库中的1:n的关系,外建一般维护在多的一方,所以每一个学生的记录中都含有一个class_id,我们可以通过class表 id查询到班级里的所有的学生。

下面上代码:

我的实例代码解决的是一个类图片库中可能包含多张图片,图片和图片类别的详细描述分别存储在两张表中,查询文档内容的同时查询出图片。

首先建一个扩展类最好放在新建的extend包下:

package com.muzi.museum.bean.extend;

import com.muzi.museum.bean.Type_picture;
import java.util.Date;
import java.util.List;

public class TypeeVM {
    private Integer id;

    private String typeName;

    private Date createTime;

    private Date updateTime;

    private String createUser;

    private String updateUser;

    private String isDelete;

    private String typeDescription;

    private List type_pictures;

    public Integer getId() {
        return id;
    }

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

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    public String getTypeDescription() {
        return typeDescription;
    }

    public void setTypeDescription(String typeDescription) {
        this.typeDescription = typeDescription;
    }

    public List getType_pictures() {
        return type_pictures;
    }

    public void setType_pictures(List type_pictures) {
        this.type_pictures = type_pictures;
    }


}

 注意点:我们扩展的类中不仅包含的是  1这一方的成员变量,还需要将多的这一方的对象定义为一个list集合

MyBatis 一对多的查询实例_第1张图片

 相应的建我们的映射接口 在dao层


public interface TypeeVMMapper {
    //查询所有的名俗类别
    List selectAll();
}

 最后在mybatis中的映射文件

  
        
        
        
        
        
        
        
        
        
    

最重要的是将list集合映射为一个collection

MyBatis 一对多的查询实例_第2张图片

MyBatis 一对多的查询实例_第3张图片 

你可能感兴趣的:(mybatis)