【热门框架】怎样使用Mybatis-Plus制作标准的分页功能

使用 Mybatis-Plus 实现标准的分页功能需要使用 Page 类来进行分页操作。具体步骤如下:

  1. 引入 Mybatis-Plus 依赖

    在 Maven 项目中,在 pom.xml 文件中引入 Mybatis-Plus 的依赖:

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>${mybatis-plus.version}</version>
    </dependency>
    

    注意:${mybatis-plus.version} 是 Mybatis-Plus 的版本号。

  2. 分页查询

    在 Mapper 接口中,继承 Mybatis-Plus 提供的 BaseMapper 接口,并使用 Page 对象进行分页查询。

    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.baomidou.mybatisplus.core.metadata.IPage;
    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    import com.example.demo.entity.User;
    
    public interface UserMapper extends BaseMapper<User> {
          
          
        IPage<User> selectUserPage(Page<User> page);
    }
    

    在实现类中,使用 selectPage 方法进行分页查询:

    import com.baomidou.mybatisplus.core.metadata.IPage;
    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import com.example.demo.entity.User;
    import com.example.demo.mapper.UserMapper;
    import com.example.demo.service.UserService;
    import org.springframework.stereotype.Service;
    
    @Service
    public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
          
          
        @Override
        public IPage<User> selectUserPage(Page<User> page) {
          
          
            return baseMapper.selectPage(page, null);
        }
    }
    
  3. 在 Controller 中使用分页查询

    在 Controller 中,使用 Page 对象传递分页参数,并调用 Service 中的分页查询方法进行分页查询:

    import com.baomidou.mybatisplus.core.metadata.IPage;
    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    import com.example.demo.entity.User;
    import com.example.demo.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class UserController {
          
          
        @Autowired
        private UserService userService;
    
        @GetMapping("/users/{pageNum}/{pageSize}")
        public IPage<User> selectUserPage(@PathVariable("pageNum") int pageNum, @PathVariable("pageSize") int pageSize) {
          
          
            Page<User> page = new Page<>(pageNum, pageSize);
            return userService.selectUserPage(page);
        }
    }
    

    注意:Page 的第一个参数是当前页码,第二个参数是每页记录数。

这样,就完成了使用 Mybatis-Plus 实现标准的分页功能的操作。

猜你喜欢

转载自blog.csdn.net/IamBird/article/details/130463435