当前位置: 首页 > news >正文

晋州外贸网站建设山东建设企业网站

晋州外贸网站建设,山东建设企业网站,南平市建设集团网站,医疗网站不备案在MyBatis中实现分页查询的常见方式有两种:使用MyBatis内置的分页插件如PageHelper,或者手动编写分页的SQL语句。下面我将为你提供两种方式的示例代码。 使用PageHelper分页插件 首先,确保你的项目中已经添加了PageHelper的依赖。在Maven项…

在MyBatis中实现分页查询的常见方式有两种:使用MyBatis内置的分页插件如PageHelper,或者手动编写分页的SQL语句。下面我将为你提供两种方式的示例代码。

使用PageHelper分页插件

首先,确保你的项目中已经添加了PageHelper的依赖。在Maven项目中,可以在pom.xml文件中添加如下依赖(版本号可能需要更新):

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>最新版本</version>
</dependency>

然后,在你的Service或Mapper层调用PageHelper的静态方法startPage来启动分页功能,之后紧跟着的查询就是一个分页查询了。

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import java.util.List;public PageInfo<User> findByPage(int pageNum, int pageSize) {// pageNum: 页码, pageSize: 每页显示数量PageHelper.startPage(pageNum, pageSize);// 紧跟着的第一个select方法会被分页List<User> users = userMapper.selectAll();// 使用PageInfo包装查询结果,便于使用return new PageInfo<>(users);
}

手动编写分页SQL

如果你不想使用分页插件,也可以手动编写SQL实现分页。以下是一个基于MySQL数据库的分页查询示例:

<!-- MyBatis的Mapper文件 -->
<select id="findByPage" resultType="User">SELECT * FROM usersORDER BY idLIMIT #{offset}, #{pageSize}
</select>

确实,如果你直接使用手动编写的分页SQL查询,这种方式并不会自动返回查询结果的总数(total)。要获取总数,通常需要执行一个额外的SQL查询来计算总记录数。这意味着对于分页功能,你通常需要执行两个查询:一个是分页查询本身,另一个是为了获取总记录数的查询。

以下是如何实现这一点的示例:

1. 查询总记录数(注意这里需要查询你需要数据库中全部信息返给前端作为total值)

首先,你需要一个SQL查询来获取总记录数。这通常是一个简单的SELECT COUNT语句。

<!-- 在MyBatis的Mapper文件中 -->
<select id="findTotalCount" resultType="int">SELECT COUNT(*) FROM users
</select>

2. 修改Service或DAO层

然后,在你的Service或DAO层,你可以首先查询总记录数,然后执行分页查询。这样,你可以将总记录数和分页查询的结果一起返回给调用者。

import java.util.HashMap;
import java.util.List;
import java.util.Map;public Map<String, Object> findByPage(int pageNum, int pageSize) {int offset = (pageNum - 1) * pageSize;int total = userMapper.findTotalCount(); // 获取总记录数List<User> users = userMapper.findByPage(offset, pageSize); // 分页查询Map<String, Object> result = new HashMap<>();result.put("total", total); // 总记录数result.put("users", users); // 分页查询结果return result;
}

这样,你就可以在前端或调用者那里得到总记录数和当前页的记录列表,从而可以计算出总页数、当前页码等分页信息,为用户提供完整的分页功能。

记得,每次分页查询都执行两次数据库操作(一次获取总数,一次实际分页查询)可能会对性能有一定影响,特别是在处理大量数据时。因此,对于数据量非常大的情况,需要考虑缓存策略或其他优化手段。在这里,#{offset}是查询的起始位置(例如,在第2页,每页10条记录,offset应该是10),#{pageSize}是每页显示的记录数。

在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/106717/

相关文章:

  • 什么叫宣传类网站网络营销的效果是什么
  • 锦州制作网站公司网页设计和网站建设的课程设计
  • 网站一次性建设网站精神文件建设专栏
  • 金山网站建设费用网站规划设计的一般流程
  • 二手车网站开发数据库设计域名查询备案查询
  • 大连网站前端制作公司网站设计公司网站制作费用
  • wordpress站点统计插件在国内做跨境电商怎么上外国网站
  • 深圳网站建设 设计科技WordPress访问mysql慢
  • 自我介绍ppt模板宁波优化seo
  • 建筑网建设通网站作用什么网站做h5不收费
  • 网站怎么做防360拦截网站建设工作室wp主题模板
  • 深圳网站建设找智恒网络虚拟主机网站建设的几个步骤
  • 网站做appvps可以同时做ss和网站吗
  • 哪个网站可以做兼职讲师鞍山信息港首页
  • 国内工程机械行业网站建设现状中国住建网查询证书
  • 怎么买网站域名网站建设招标评分表
  • 网站首页设计教程wix建站是免费的吗
  • 襄阳公司网站建设推广代理公司
  • 网店推广方式江西做网站优化好的
  • 网站建设中期目标h5制作小程序有什么
  • 重庆南坪网站建设公司架设网站
  • 修改网站图片哪里可以找人做网站
  • 网站开发如何记账重庆电子工程学院
  • 内部网站建设拓扑餐饮品牌设计项目
  • 做标签网站是什么样的想学装修设计怎么入门
  • 哈德网站建设徐州制作企业网站
  • 网站开发需要那些技能网站导航上的图片做多大尺寸
  • 哪有做网站网站还没有建好可以备案吗
  • 网站建设行业增长率wordpress动漫小人2019
  • 关于班组建设管理的网站建设工程信息服务平台新网站