MyBatis-Plus多表联合查询并且分页多表联合查询并且分页(3表联合表联合)
主要介绍了MyBatis-Plus多表联合查询并且分页(3表联合),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一
起学习学习吧
这3张表的关系是模型表Model ===> 训练表Training ===》应用表Application(大概的逻辑是:选择应用,然后训练,然后成为模型)
首先我们先建立实体Model(我使用的data注解不需要get set @TableField(exist = false) 注解下的属性 是相关联表的属性)
package cn.com.befery.dataai.po;
import java.util.Date;
import org.springframework.boot.jackson.JsonComponent;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
@JsonComponent()
@Data
@TableName("ai_model")
public class Model {
@TableId(value = "model_id", type = IdType.AUTO)
private Long modelID;
private Long applicationId;
private Long trainingId;
private String modelName;
// 描述
private String modelDescribe;
private String modelType;
private Date createDate;
private String filePath;
private String fileName;
private String daimension; //维度
private Long status;
@TableField(exist = false)
private String applicationName;
@TableField(exist = false)
private String trainingName;
@TableField(exist = false)
private String order;
@TableField(exist = false)
private String orderdir; // 升序或降序
}
然后是第二个相关联的表 应用表application表
package cn.com.befery.dataai.po;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
@Data
@TableName("ai_application")
public class Application implements Serializable{
private static final long serialVersionUID = 1L;
@TableId(value="application_id",type=IdType.AUTO)
private Long applicationID;
private String applicationName;
private String filePath;
private String fileName;
private Long userId;
private Date createDate;
private Integer status;
private String dimension; //维度
@TableField(exist= false)
private String userName; //关联用户表的名称字段
@TableField(exist = false)
private String order;
@TableField(exist = false)
private String modelName;
@TableField(exist = false)
private String trainingName;
@TableField(exist = false)
private String orderdir; //升序或降序
}
然后是相关联的第3张表 训练表traning
package cn.com.befery.dataai.po;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
@Data
@TableName("ai_training")
public class Training implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "training_id", type = IdType.AUTO)
private Long trainingID;
private Long serverId; //服务器ID
private Long applicationId; //应用ID
private String trainingModel; //训练模型
private String trainingName; //训练名称
private String dimensionInput; //输入维度
private String dimensionOutput; //输出维度
private Date createDate;
private Integer status;
@TableField(exist = false)
评论5
最新资源