mybaitis 嵌套查询

mybaitis 嵌套查询

当使用mybaitis查询时,想要展示一个JavaBean包含另一个(多个)JavaBean时,就可以使用mybaitis的collection 标签。

注意: 如果想要展示包含JavaBean的id,这两个JavaBean在建表时候的主键名称要有区别。

Model 1

import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class TrainDepartment implements Serializable {

    private Long id;
    private String programCode;
    @NotBlank(message = "请添加部门")
    private String department;
    @NotBlank(message = "请添加参加人数")
    private Integer numberPeople;
    
	// 对应collection标签 property
    private List peoples;

    private String startingTime;

Model 2

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

@Data
public class TrainPeople implements Serializable {

    private Long peopleId;

    private Long departmentId;

    private String name;

    private Long grade;

    private String certificateNo;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date initialReleaseTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date reviewTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date certificateValidityPeriod;

Mapper




  
    
    
    
    
    
    
    
    
    
      
          
          
          
          
      
  
  
  
    id, program_code, department, number_people, status, create_at, create_by, update_at,
    update_by
  
   
  


          
          
          
          
      
  

collection : 一个复杂的类型关联,许多结果将映射为这种类型
property : 这是关联的 JavaBean 中的属性名, 在 TrainDepartment中对应 private List menus;
javaType : property 属性对应的集合类型
ofType : property 集合中的泛型,在 TrainDepartment 中是 TrainPeople

请求结果:
mybaitis 嵌套查询_第1张图片

你可能感兴趣的:(学习之路)