mybatis plus Querywrap join
时间: 2023-12-01 16:43:11 浏览: 69
mybatis的结合
mybatis-plus-join是一款可以用类似mybatis-plus中QueryWrapper的方式来进行联表查询的工具。下面是使用mybatis-plus-join进行联表查询的示例:
1. 引入依赖
```xml
<dependency>
<groupId>com.github.bobo667</groupId>
<artifactId>mybatis-plus-join</artifactId>
<version>1.0.0</version>
</dependency>
```
2. 定义实体类
```java
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
private Long roleId;
}
@Data
public class Role {
private Long id;
private String name;
}
```
3. 定义Mapper接口
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserJoinRole(@Param(Constants.WRAPPER) Wrapper<User> wrapper);
}
```
4. 进行联表查询
```java
@Test
public void testSelectUserJoinRole() {
QueryWrapper<User> userWrapper = new QueryWrapper<>();
userWrapper.eq("u.name", "Tom")
.eq("r.name", "admin")
.orderByDesc("u.age");
List<User> userList = userMapper.selectUserJoinRole(userWrapper);
userList.forEach(System.out::println);
}
```
在上述示例中,我们定义了两个实体类User和Role,分别对应数据库中的user和role表。我们通过定义Mapper接口UserMapper,并在其中定义了一个selectUserJoinRole方法,该方法接收一个Wrapper<User>类型的参数,用于构建联表查询的条件。在测试方法中,我们使用QueryWrapper来构建查询条件,并调用selectUserJoinRole方法进行联表查询。
阅读全文