表关联查询+Mybatis-plus表关联查询所遇到的问题

  • 项目背景

使用MyBatis-Plus生成模板,进行表关联查询。

  • 使用表

文章表+作者表 文章表中有一个author_id 连接 作者表中的id

文章表

表关联查询+Mybatis-plus表关联查询所遇到的问题_第1张图片

作者表

表关联查询+Mybatis-plus表关联查询所遇到的问题_第2张图片

  • 实体类

想要使用表关联查询,需要在文章类中添加一个作者对象,两个实体类如下

//文章实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@TableName("article")
public class Article extends Model
{ private static final long serialVersionUID = 1L; private String id; private String name; private String content; @TableField(exist = false) //重点:Mybatis-plus中默认操作忽略该字段 private Author author; @Override protected Serializable pkVal() { return this.id; } } //作者实体类 //文章实体类 @Data @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) @TableName("author") public class Article extends Model { private static final long serialVersionUID = 1L; private String id; private String name; @Override protected Serializable pkVal() { return this.id; } }

重点:Mybatis-plus在使用表关联查询的时候,如果使用了mybatis-plus封装的方法,在实体类中,必须将连接的对象添加注释

 @TableField(exist = false)

即该条属性是数据库表中不存在的,但是又是需要使用的属性

若不添加,则使用封装的方法时会报错,找不到该列

  • mapper内语句

//resultMapper

    
        
        
        
        
        
            
            
        
    

//sql语句

 

你可能感兴趣的:(JavaWeb)