栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis一对多的问题使用collection以及select

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis一对多的问题使用collection以及select

业务场景:用户关联教育中间表,用户会有多条教育经历,教育中间表再关联学校院系的信息,要求获取用户的教育信息

这里写目录标题
    • 业务场景:用户关联教育中间表,用户会有多条教育经历,教育中间表再关联学校院系的信息,要求获取用户的教育信息
    • 实体类
      • 用户实体类
      • 教育中间表实体类
      • 工作信息实体类
    • 对应的xml
      • 教育信息中间表xml
      • 工作信息的xml
      • 用户的xml实现(重点)

实体类 用户实体类
public class RegAlumniuser implements Serializable {
    
    @Id
    @Column(name = "reg_alumniuserid")
    private Integer regAlumniuserid;
    //关联教育信息表
    @Transient
    private List regEducationinfos;

    
    @Transient
    public List regWorkinfos;


    
    @Transient
    public List honors;

}
教育中间表实体类
package mobile.bean;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;

@Table(name = "reg_educationinfo")
@Getter
@Setter
public class RegEducationinfo implements Serializable {
    
    @Id
    @Column(name = "reg_edu_info_id")
    private Integer regEduInfoId;

    
    @Column(name = "reg_alumniuserid")
    private Integer regAlumniuserid;

    
    @Transient
    public School school;

    
    @Transient
    public Department department;

    
    @Transient
    public Major major;

    
    @Transient
    public Grade grade;

 
    
    @Transient
    public String[] SchoolList;

    
    @Transient
    public String[] CollegeList;

    
    @Transient
    public String[] MajorList;

    
    @Transient
    public String[] GradesList;
}
工作信息实体类
package mobile.bean;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Table(name = "reg_workinfo")
@Setter
@Getter
public class RegWorkinfo implements Serializable {
    
    @Id
    @Column(name = "reg_work_info_id")
    private Integer regWorkInfoId;

    
    @Column(name = "reg_alumniuserid")
    private Integer regAlumniuserid;
}
对应的xml 教育信息中间表xml



  
    
    
   
    
    
    
    
  



  
  
    
  

  
  
    
  

  
  
   省略
  

  
  
     省略
  

  
    select edu.*,sch.sch_name,dept.dept_name,m.major_name,g.grade_name from reg_educationinfo edu
      LEFT JOIN school sch ON edu.sch_id=sch.sch_id
      LEFT JOIN department dept ON edu.dept_id=dept.dept_id
      LEFT JOIN major m ON edu.major_id=m.major_id
      LEFT JOIN grade g ON edu.grade_id=g.grade_id
    where edu.reg_alumniuserid = #{regAlumniuserid}
  

工作信息的xml



  
    
    
  


  
        select *
        from reg_alumniuser reg
        where  reg.reg_alumniuserid=#{regAlumniuserId}
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号