springboot mybatisplus写分页查询
时间: 2023-09-11 09:08:30 浏览: 105
完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题
你可以使用Spring Boot和MyBatis Plus来实现分页查询。首先,确保你已经正确配置了Spring Boot和MyBatis Plus。
接下来,你需要在你的Mapper接口中定义一个分页查询方法。使用MyBatis Plus提供的`IPage`接口作为方法的返回类型,并使用`@Param`注解来传递分页参数。
例如,假设你有一个名为`UserMapper`的Mapper接口,你可以添加如下方法:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
在上述代码中,我们使用`selectUserPage`方法来进行分页查询。`@Param("name")`注解用于绑定方法参数,这里我们传递了一个名为`name`的参数。
然后,在你的Service层中调用这个方法。你可以使用MyBatis Plus提供的`Page`类来构建分页参数,并调用`selectUserPage`方法。
```java
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public IPage<User> getUsersByName(String name, int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectUserPage(page, name);
}
}
```
在上述代码中,我们使用`Page`类来构建分页参数,并将其传递给`selectUserPage`方法。
最后,在你的Controller中调用Service层的方法,并根据需要处理返回的分页数据。
```java
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public IPage<User> getUsersByName(@RequestParam String name,
@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) {
return userService.getUsersByName(name, pageNum, pageSize);
}
}
```
在上述代码中,我们使用`@RequestParam`注解来获取请求参数,并调用Service层的方法进行查询。
这样,当你发送GET请求到`/users`接口时,会返回按照名字分页查询的结果。你可以根据需要进行相应的处理和展示。
阅读全文