引用
package day03;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import tarena.util.DBUtil;
public class JDBCTest2 {
public static void main(String[] args) throws Exception {
test2(7000,10);
}
static void test2(int page, int pageSize) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
con = DBUtil.openInThread();
page = page < 1?1:page;
int start = (page-1) * pageSize + 1;
int end = start + pageSize;
// [start, end)
pstmt = con.prepareStatement(
"select * from " +
"(select t.*, rownum r from " +
"(select * from s_emp) t) " +
"where r >=? and r<?");
pstmt.setInt(1, start);
pstmt.setInt(2, end);
rs = pstmt.executeQuery();
while(rs.next()) {
System.out.println(rs.getString("first_name"));
}
} finally {
DBUtil.close(null, pstmt, rs);
DBUtil.closeInThread();
}
}
static void test1(int page, int pageSize) throws Exception {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
con = DBUtil.openInThread();
stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(
"select * from s_emp");
page = page < 1?1:page;
int start = (page-1) * pageSize + 1;
// 定位,返回值表示指针位置是否有数据
boolean hasRow = rs.absolute(start);
// 如果指针指向没有数据的位置,不能取数据
if(!hasRow || rs.isBeforeFirst() || rs.isAfterLast()) {
System.out.println("指针位置无数据");
return;
}
// 从此位置向后取出pageSize条数据
for(int i=0;i<pageSize;i++) {
System.out.println(rs.getString("first_name"));
if(! rs.next()) { // 如果剩余数据不足,结束
break;
}
}
} finally {
DBUtil.close(null, stmt, rs);
DBUtil.closeInThread();
}
}
}
service类
package day03;
import java.util.ArrayList;
import java.util.List;
import day02.Emp;
public class EmpService {
public void save(Emp emp) throws Exception {
}
public void delete(Emp emp) throws Exception {
}
public void update(Emp emp) throws Exception {
// update s_emp set .... where id=?
}
public Emp findById(int id) throws Exception {
return null;
}
public List<Emp> findAll() throws Exception {
List<Emp> list = new ArrayList<Emp>();
/*rs = 执行查询;
while(rs.next()) {
从rs中一个数据一个数据的取出
新建Emp对象
将数据放入Emp对象
Emp对象放入list
}*/
return list;
}
public List<Emp> findAll(int page, int pageSize) throws Exception {
return null;
}
public int findMaxPage(int pageSize) throws Exception {
return 0;
}
}
分享到:
相关推荐
实现分页的步骤一般包括设置每页显示的数据条数、获取数据总条数、计算总页数、控制当前页数变量以及能够实现翻页的功能,如首页、上一页、下一页、尾页和跳转到指定页码的实现。 根据提供的部分内容,这里涉及的...
二、SQL语句实现分页 在MySQL中,最常用的分页查询方式是使用`LIMIT`和`OFFSET`关键字。`LIMIT`用于指定每页显示的记录数,而`OFFSET`用于跳过多少条记录,达到从特定位置开始返回结果的目的。 例如,要获取第2页,...
Node.js结合MySQL实现分页查询是一种常见的数据处理方式,在Web应用中尤为常见。分页可以有效提高页面的响应速度,并优化用户的浏览体验。本文主要介绍了在Node.js环境下,如何使用MySQL数据库实现分页功能。 首先...
在实现分页时,我们主要关注LayoutManager。 1. **纵向分页**: 在Android中,通常使用LinearLayoutManager实现纵向滚动。为了实现分页,我们可以监听RecyclerView的滑动事件,并在用户接近底部时加载下一页。这...
### 统一实现分页接口:跨数据库平台的分页技术 在软件开发中,特别是在构建数据密集型应用时,分页技术是处理大量数据的关键方法之一。它不仅能够优化用户体验,减少网络传输的数据量,还能提高服务器响应速度。...
结合mysql数据库查询,实现分页效果 @user.route("/user_list",methods=['POST','GET']) def user_list(): p = g.args.get("p", '') #页数 show_shouye_status = 0 #显示首页状态 if p =='': p=1 else: p=int...
本文将深入探讨如何自定义RecyclerView以实现分页加载效果,从而提高用户体验并减少内存消耗。 首先,我们需要了解分页加载的基本概念。在Android应用中,分页加载是指当用户滚动到列表底部时,动态加载更多数据,...
在这个主题中,我们将深入探讨如何利用`mui.js`来实现分页功能,以及它与`jQuery`的关系。 首先,分页功能在网页应用中极为常见,特别是在数据量大、需要分批加载的场景下。`mui.js`提供了一个内置的分页组件,可以...
使用Spring的JdbcTemplate实现分页功能
### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次查询的数据量,提高系统的响应速度和用户体验。MySQL作为一种广泛...
在网页开发中,分页功能是一项非常常见的需求,特别是在数据量较大的情况下,为了提高用户体验,我们需要将大量数据分批次展示,这就是jsp实现分页功能的主要目的。本篇将详细介绍如何利用jsp来完成这一任务。 首先...
【SSH框架整合实现分页详解】 SSH框架整合是企业级应用开发中常用的技术组合,它由Struts2、Spring和Hibernate三个开源框架组成,分别负责表现层、业务逻辑层和服务数据访问层。在这个过程中,实现分页功能是提高...
如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页 如何用JSTL实现分页
本篇将详细探讨如何利用MySQL和Spring MVC来实现分页功能,以及在这个过程中涉及到的相关知识点。 一、MySQL数据库分页 在MySQL中,分页主要通过`LIMIT`和`OFFSET`关键字实现。`LIMIT`用于指定返回结果的数量,而`...
在本案例中,我们将探讨如何利用MyBatis的拦截器功能实现分页操作,以此来提高代码的复用性和可维护性。下面将详细阐述这一过程。 首先,我们需要了解MyBatis拦截器的基本概念。MyBatis拦截器类似于Java的AOP(面向...
实现分页功能,实现首页,下一页,上一页,末页的功能
本教程将详细讲解如何利用Extremecomponents来实现分页、导出Excel(XLS)以及表格排序等功能。 首先,我们要了解分页在Web应用中的重要性。在处理大量数据时,分页可以提高用户体验,避免一次性加载所有数据导致...
本篇将重点介绍在Java环境中,如何通过三种不同的方式来实现分页功能。 首先,我们来看看什么是分页。分页是将大量数据分成若干小部分,每次只显示一部分,用户可以通过翻页来查看更多的数据。在Web开发中,分页...
首先,我们需要了解XC库中的`xe:pager`标签,它是实现分页功能的核心组件。`xe:pager`提供了各种分页样式和配置选项,可以轻松地与数据源绑定,实现数据的分页显示。以下是如何在JSF页面中使用`xe:pager`的基本语法...
在本文中,我们将深入探讨如何使用Spring Boot框架实现分页功能。Spring Boot作为一个现代的Java应用程序开发框架,其目标是简化传统Spring应用的初始化和配置流程。它通过提供开箱即用的功能集,使得开发者可以快速...