学校网站 功能,wordpress有必要用waf,开发网站用什么语言,wordpress和typechoPageHelper 使用步骤全解析
在进行 Web 应用开发时#xff0c;经常会涉及到数据库数据的分页展示。PageHelper 是一个非常实用的 MyBatis 分页插件#xff0c;它能够方便地实现数据库查询结果的分页功能#xff0c;极大地提高了开发效率。以下将简单介绍 PageHelper 的使用…PageHelper 使用步骤全解析
在进行 Web 应用开发时经常会涉及到数据库数据的分页展示。PageHelper 是一个非常实用的 MyBatis 分页插件它能够方便地实现数据库查询结果的分页功能极大地提高了开发效率。以下将简单介绍 PageHelper 的使用步骤。
一、引入依赖
Maven 项目
如果你的项目是基于 Maven 构建的需要在项目的pom.xml文件中添加 PageHelper 的依赖项。
!--pagehelper分页插件--
dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.0/version
/dependencyGradle 项目
对于 Gradle 项目在build.gradle文件中添加以下依赖
implementation com.github.pagehelper:pagehelper-spring-boot-starter:1.4.0
二、配置 PageHelper
如果是 Spring Boot 项目在application.properties或application.yml文件中进行配置。以application.yml为例
pagehelper:helper-dialect: mysql # 指定数据库方言这里以MySQL为例reasonable: true # 分页合理化如果pageNum1会查询第一页如果pageNumpages会查询最后一页support-methods-arguments: true # 支持通过Mapper接口参数传递分页参数params: countcountSql # 用于从对象中根据属性名取值这里配置count的SQL
这些参数的详细解释如下 helper-dialect: 指定分页插件的数据库方言。PageHelper会自动检测当前的数据库链接自动选择合适的分页方式。如果你使用的是MySQL可以明确指定为mysql。 reasonable: 是否启用分页合理化。如果启用当pageNum1时会自动查询第一页的数据当pageNumpages时自动查询最后一页数据不启用的情况下以上两种情况都会返回空数据。 support-methods-arguments: 是否支持通过Mapper接口参数来传递分页参数默认值false。设置为true时PageHelper会从查询方法的参数值中自动根据配置的字段取值进行分页。 params: 用于从对象中根据属性名取值可以配置pageNum, pageSize, count, pageSizeZero, reasonable等参数。这里的countcountSql表示在执行分页查询时会使用countSql作为计算总数的SQL。 三、在代码中使用 PageHelper
1.简单分页查询
假设我们有一个用户表user要查询并分页展示用户信息。首先在对应的 Mapper 接口中定义查询方法
import com.example.entity.User;
import java.util.List;public interface UserMapper {Select(SELECT * FROM user)ListUser selectAllUsers();
}
然后在 Service 层或调用 Mapper 的地方使用 PageHelper 进行分页查询示例代码如下
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.example.mapper.UserMapper;
import com.example.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;Service
public class UserService {Autowiredprivate UserMapper userMapper;public PageInfoUser getUserList(int pageNum, int pageSize) {// 设置分页参数pageNum为当前页码pageSize为每页显示的记录数PageHelper.startPage(pageNum, pageSize);// 执行查询ListUser userList userMapper.selectAllUsers();// 使用PageInfo对查询结果进行包装返回包含分页信息的对象return new PageInfo(userList);}
}
在上述代码中PageHelper.startPage(pageNum, pageSize)方法用于设置分页参数告诉 PageHelper 要查询第几页以及每页显示多少条记录。然后执行查询操作PageHelper 会自动对查询语句进行分页处理最后将查询结果包装成PageInfo对象返回。PageInfo对象包含了分页相关的各种信息如总记录数、总页数、当前页码、每页记录数等方便在前端进行分页展示和相关逻辑处理。 2.带条件的分页查询 如果查询需要带条件例如根据用户姓名进行模糊查询并分页。首先在 Mapper 接口中定义带条件的查询方法
import com.example.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;import java.util.List;Mapper
public interface UserMapper {Select(SELECT * FROM user WHERE user_name LIKE #{name})ListUser selectUsersByName(Param(name) String name);
}
在 Service 层实现带条件的分页查询代码如下
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.example.mapper.UserMapper;
import com.example.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;Service
public class UserService {Autowiredprivate UserMapper userMapper;public PageInfoUser getUserListByName(String name, int pageNum, int pageSize) {// 设置分页参数PageHelper.startPage(pageNum, pageSize);// 执行带条件的查询ListUser userList userMapper.selectUsersByName(% name %);// 返回分页信息对象return new PageInfo(userList);}
} 这样我们就能简单的使用pageHelper的分页功能 详细的使用可以参考文档如何使用分页插件