学堂 学堂 学堂公众号手机端

MyBatis-Plus提供了多种方法来实现多表联查,具体取决于你想要使用的查询方式和复杂度的不同。 以下是一些常用的方法

lewis 1年前 (2024-04-06) 阅读数 7 #技术

MyBatis-Plus提供了多种方法来实现多表联查,具体取决于你想要使用的查询方式和复杂度的不同。

以下是一些常用的方法:

1、使用@Join注解:通过在实体类中使用@Join注解来定义多表联查的关联关系,然后使用MyBatis-Plus的查询方法进行查询。


@Data
publicclassUser{
@TableId
privateLongid;
privateStringname;
privateLongroleId;

@Join(column="role_id",type=Join.Type.LEFT)
privateRolerole;
}

@Data
publicclassRole{
@TableId
privateLongid;
privateStringroleName;
}

//查询代码
Useruser=userMapper.selectById(1L);

2、使用Wrapper查询构造器:使用MyBatis-Plus提供的Wrapper查询构造器,可以自由组合多个条件进行多表联查。

QueryWrapper<User>queryWrapper=newQueryWrapper<>();
queryWrapper.eq("user.id",1L)
.leftJoin("role","role.id=user.role_id")
.select("user.*,role.role_name");

Useruser=userMapper.selectOne(queryWrapper);

3、使用自定义SQL:如果以上方法无法满足需求,可以使用自定义SQL来实现多表联查。

@Select("SELECTu.*,r.role_nameFROMuseruLEFTJOINrolerONu.role_id=r.idWHEREu.id=#{id}")
UserselectUserWithRoleById(Longid);

以上是一些常见的多表联查方法,你可以根据具体情况选择合适的方法来实现多表联查。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门