在 Spring Boot 项目中使用 MyBatis 分页插件(PageHelper)的步骤如下:
- 添加依赖:在项目的
pom.xml
文件中添加 PageHelper 的依赖。
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
- 配置属性:在
application.properties
或application.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
- 使用分页:在需要进行分页的 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);
}
}
- Mapper 接口:定义一个 Mapper 接口,用于查询用户列表。
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<User> selectAllUsers();
}
- Mapper XML:(可选)如果你需要更复杂的 SQL 查询,可以在 Mapper XML 文件中定义 SQL 并使用
PageHelper
。
<select id="selectAllUsers" resultType="com.yourpackage.User">
SELECT * FROM user
</select>
- 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);
}
}
- 测试:启动 Spring Boot 应用并访问
/users
端点,传入page
和size
参数来测试分页功能。
这样,你就可以在 Spring Boot 项目中使用 MyBatis 分页插件 PageHelper 来实现分页功能了。记得替换示例代码中的包名和类名以匹配你的项目结构。