mysql实用系列:查询语句开启分页

在 Spring Boot 项目中使用 MyBatis 分页插件(PageHelper)的步骤如下:

  1. 添加依赖:在项目的 pom.xml 文件中添加 PageHelper 的依赖。
<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelper-spring-boot-starterartifactId>
    <version>最新版本version>
dependency>
  1. 配置属性:在 application.propertiesapplication.yml 文件中配置 PageHelper 的属性。
# application.properties
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

或者

# application.yml
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql
  1. 使用分页:在需要进行分页的 Mapper 接口的方法前调用 PageHelper.startPage() 方法。
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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 PageInfo<User> selectPagedUsers(int pageNumber, int pageSize) {
        PageHelper.startPage(pageNumber, pageSize);
        List<User> users = userMapper.selectAllUsers();
        return new PageInfo<>(users);
    }
}
  1. Mapper 接口:定义一个 Mapper 接口,用于查询用户列表。
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface UserMapper {
    List<User> selectAllUsers();
}
  1. Mapper XML:(可选)如果你需要更复杂的 SQL 查询,可以在 Mapper XML 文件中定义 SQL 并使用 PageHelper
<select id="selectAllUsers" resultType="com.yourpackage.User">
    SELECT * FROM user
select>
  1. Controller 层:在 Controller 层调用服务层的方法,传递分页参数。
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;
import com.github.pagehelper.PageInfo;

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users")
    public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int page,
                                   @RequestParam(defaultValue = "10") int size) {
        return userService.selectPagedUsers(page, size);
    }
}
  1. 测试:启动 Spring Boot 应用并访问 /users 端点,传入 pagesize 参数来测试分页功能。

这样,你就可以在 Spring Boot 项目中使用 MyBatis 分页插件 PageHelper 来实现分页功能了。记得替换示例代码中的包名和类名以匹配你的项目结构。

你可能感兴趣的:(mysql实用系列,mysql,数据库,mybatis)