mybatisplus怎么實(shí)現(xiàn)分頁(yè)

小樊
238
2024-07-13 10:43:25

MyBatis Plus 實(shí)現(xiàn)分頁(yè)功能非常簡(jiǎn)單,只需要使用 Page 類即可。下面是一個(gè)簡(jiǎn)單的示例:

  1. 首先在 Mapper 接口中定義一個(gè)查詢方法,使用 Page 類作為參數(shù):
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

public interface UserMapper extends BaseMapper<User> {

    Page<User> selectUserPage(Page<User> page);

}
  1. 在 Mapper XML 文件中編寫對(duì)應(yīng)的 SQL 查詢語(yǔ)句:
<select id="selectUserPage" resultType="User">
    select * from user
</select>
  1. 在 Service 層中調(diào)用 Mapper 方法獲取分頁(yè)數(shù)據(jù):
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 Page<User> getUserPage(int pageNum, int pageSize) {
        Page<User> page = new Page<>(pageNum, pageSize);
        return userMapper.selectUserPage(page);
    }

}
  1. 最后在 Controller 層中調(diào)用 Service 方法獲取分頁(yè)數(shù)據(jù)并返回給前端:
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users")
    public Page<User> getUsers(int pageNum, int pageSize) {
        return userService.getUserPage(pageNum, pageSize);
    }

}

這樣就可以實(shí)現(xiàn) MyBatis Plus 的分頁(yè)功能。在調(diào)用 getUserPage 方法時(shí),傳入頁(yè)碼和每頁(yè)數(shù)量即可獲取相應(yīng)的分頁(yè)數(shù)據(jù)。

0