mybatisplus多个实体查询
时间: 2023-07-31 14:03:37 浏览: 151
SpringBoot + MybatisPlus 实现实体类转成数据库表结构,可直接运行
在 MyBatis Plus 中,可以使用 Wrapper 来实现多个实体的查询。Wrapper 是 MyBatis Plus 提供的一个查询条件构造器,它可以帮助我们方便地构建复杂的查询条件。
下面是一个示例,演示了如何使用 Wrapper 进行多个实体的查询:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.QueryChainWrapper;
import com.example.demo.entity.User;
import com.example.demo.entity.UserProfile;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsersWithProfile() {
QueryWrapper<User> userWrapper = new QueryWrapper<>();
userWrapper.select("id", "username", "email");
QueryWrapper<UserProfile> profileWrapper = new QueryWrapper<>();
profileWrapper.select("user_id", "nickname");
userWrapper.inSql("id", "SELECT user_id FROM user_profile");
List<User> userList = userMapper.selectList(userWrapper);
return userList;
}
}
```
在上面的示例中,我们通过 QueryWrapper 构建了两个查询条件,分别对应 User 实体和 UserProfile 实体。然后使用 inSql 方法将两个实体关联起来。
这样就可以实现多个实体的查询了。当然,具体的查询条件和关联方式可以根据实际需求进行调整。
希望对你有所帮助!如果还有其他问题,请继续提问。
阅读全文