- 浏览: 331564 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (160)
- Hiberate (13)
- struts+spring+hibernate (8)
- tomcat服务器 (3)
- sql server2000数据库 (1)
- JSTL标签 (4)
- 数据库 (1)
- jsp (3)
- mysql (4)
- xml (2)
- 字符串操作 (6)
- js (2)
- 过滤器 (0)
- dwr (2)
- Extjs学习笔记 (12)
- java文件 (2)
- struts错误记录 (2)
- struts经验技巧 (2)
- struts+spring+ibatis (3)
- 学习积累--分页的实现过程 (8)
- 递归 (1)
- 工具使用 (1)
- swfupload批量上传 (1)
- flex+webservice (1)
- 精彩文章分享 (0)
- flex+eclipse开发环境 (1)
- DB2数据库 (2)
- ssh+pager taglib分页实现 (2)
- java (0)
- java 异常 (2)
- mylipse6.5 环境内存溢出 (2)
- java 操作word文件 (1)
- 异常整理 (1)
- sql server 2005使用心得 (3)
- jdbc数据库封装 (1)
- javaMail 收发邮件 (1)
- 数据库设计 (1)
- jfreechart图表研究 (1)
- ibatis 学习积累 (1)
- 强制固定表格 (1)
- struts+hibernate (1)
- 分页标签的使用 (1)
- 基于mediawiki的安装心得 (1)
- mediawiki (0)
- Sturs2+Spring2.5+Hibernate3.5+compass 整合 (1)
- RestEasy (3)
- Date 日期公共类整理 (1)
- Excel (8)
- JAVA生成PDF文件 (1)
- Struts1.2+Jquery+Hibernate (1)
- 数据库连接池配置 (0)
- ANT 学习实例 (2)
- 英语学习总结 (1)
- Google动画脚本收藏 (1)
- 20111012 Google动画脚本 (0)
- JQUERY资料整理 (2)
- java图片处理 (1)
- Map集合 (1)
- JAVA 整理AD资料 (2)
- JAVA热启动 (3)
- JAVA操作XML (1)
- TOMCAT6连接池配置问题解决方案 (1)
- JAVA调用DLL学习 (1)
- JAVA移动应用(发送手机短信) (2)
- JAVA发送手机短信 (1)
- iReport报表使用心得 (2)
- 解决Ireport生成PDF报表中文乱码问题 (1)
- iReport使用 (1)
- 全文搜索 compass (1)
- SVN管理 (1)
- Myeclipse8.5 工具编译 (1)
- ibm appscan 扫描问题汇总解决 (1)
- Rose建模设计工具 (1)
- oracle (1)
- MyEclipse8.5注册码(8.6也可以) (0)
- oracle job定时触发执行 (1)
- java Excel导出公用类 (1)
- Highcharts图表 (1)
- excel打包成zip文件,并且提供加密功能 (0)
- excel打包成zip文件 (1)
- 并且提供加密功能 (1)
- vue学习 (1)
- WebStorm使用 (1)
最新评论
-
ahkoun:
楼主棒棒哒,下载后可以直接运行
使用 RestEasy 和 Apache Tomcat 构建 RESTful Web 服务 -
520920:
真的可以了,很棒!
java.lang.Exception: DEBUG -- CLOSE BY CLIENT STACK TRACE -
Yellow013:
不错的例子。
使用 RestEasy 和 Apache Tomcat 构建 RESTful Web 服务 -
huahoucun:
passwd = null; env.put(Context. ...
JAVA 实现AD验证 -
来迟了:
http://www.smschinese.cn/api.sh ...
JAVA发送手机短信
最近整理了有关用jsp实现oracle数据库分页的两种方法,贴出来与大家交流一下。
第一种是用jsp实现oracle数据库分页。
我的根目录是G:\workspace\hope\WebContent
2.jsp代码如下:
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>分页显示</title>
<% Connection con=null;
ResultSet rs=null;
Statement stmt=null;
String strSQL="";
int PageSize=2;
int PageAllCount=1;
int Page=1;
int RowCount=0;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException classnotfoundexception)
{
System.out.println(classnotfoundexception.getMessage());
}
try{
con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:jh","jh","jh");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
strSQL="select * from student";
rs=stmt.executeQuery(strSQL);
if(rs.next()){
rs.last();
RowCount=rs.getRow();
System.out.println(RowCount);
}
if(RowCount%PageSize==0)
PageAllCount=RowCount/PageSize;
else
PageAllCount=(RowCount+PageSize-1)/PageSize;
if(PageAllCount==0) PageAllCount=1;
if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
Page=1;
else
try{
Page=Integer.parseInt(request.getParameter("Page"));
}
catch(java.lang.NumberFormatException e){
Page=1;
}
if(Page<1) Page=1;
if(Page>PageAllCount) Page=PageAllCount;
rs.absolute((Page-1)*PageSize+1);
out.print("<TABLE BORDER='1'>");
for(int iPage=1;iPage<=PageSize;iPage++){
out.println("<TR>");
out.println("<TD>"+rs.getString("no")+"</TD>");
out.println("<TD>"+rs.getString("name")+"</TD>");
out.println("<td>"+rs.getFloat("math")+"</td>");
out.println("<td>"+rs.getFloat("english")+"</td>");
out.println("<td>"+rs.getFloat("chinese")+"</td>");
out.println("</TR>");
if(!rs.next()) break;
}
out.print("</TABLE>");
}
catch(SQLException e1){e1.printStackTrace();}
finally{
stmt.close();
con.close();
}
%>
</head>
<body>
<FORM action="2.jsp" method="get">
<% if(Page!=1){
out.print(" <A herf=2.jsp?Page=1>第一页</A>");
out.print(" <A herf=2.jsp?Page="+(Page-1)+">上一页</A>");
}
if(Page!=PageAllCount){
out.print(" <A herf=2.jsp?Page="+(Page+1)+">下一页</A>");
out.print(" <A herf=2.jsp?Page="+PageAllCount+">最后一页</A>");
}
%>
<BR>输入页数:<input TYPE="TEXT" name="Page" size="3">
页数:<font color="black"><%=Page%>/<%=PageAllCount%></font>
</FORM>
第<%=Page%>页 共<%=PageAllCount%>页
<br>
<a href="2.jsp?Page=1">首页</a>
<%if(Page<PageAllCount){%><a href="2.jsp?Page=<%=Page+1%>">下一页</a><%}%>
<%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>">上一页</a><%}%>
<a href="2.jsp?Page=<%=PageAllCount%>">尾页</a>
</br>
</body>
</html>
第二种是用jsp和javaBean实现oracle数据库分页。
1.jsp代码如下:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="DBLink" scope="page" class="flower.grass.ShowRecordByPage"/>
<%
//变量声明
String mysql=new String(); //SQL语句
int RowCount=0; //总的记录数
int PageAllCount=0; //总的页数
int PageSize=2; //每页显示的记录数
int showPage; //待显示页码
String strPage=new String(); //用来接收当页码参数
int begin_no=0; //开始的rownum记录号
int end_no=0; //结束的rownum记录号
//sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
showPage = 1;
}
else{//将字符串转换成整型
showPage = Integer.parseInt(strPage);
if(showPage<1) showPage = 1;
System.out.println(showPage);
}
//得到总的数据记录行数
mysql="select count(*) total_rows from student";
//rs=sql.executeQuery("select * from (select rownum r,no,name,math,english,chinese from student where rownum<=5)t where t.r>=3");
/*if(rs.next()){
rs.last();
RowCount=rs.getRow();
} */
ResultSet rs=DBLink.executequery(mysql);
if(rs.next())
{
RowCount=rs.getInt("total_rows"); //这里只能用getInt()
out.print("Total rows is:"+RowCount);
}
rs.close();
//计算总共要分多少页
PageAllCount = (RowCount+PageSize-1)/PageSize;
//调整待显示的页码
if(showPage>PageAllCount) showPage = PageAllCount;
//out.print("<br>Total pages is:"+intPageCount);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>
</head>
<body>
<FONT size=3>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>学号</th>
<th>姓名</th>
<th>语文</th>
<th>数学</th>
<th>英语</th>
</tr>
<%
begin_no=(showPage-1) * PageSize + 1;
end_no = showPage * PageSize;
//out.print("<br>begin:"+begin_no+"<br>end:"+end_no);
mysql="select * from (select rownum r,no ,name,math,chinese,english from (select no,name,math,chinese,english from student)) where r between " +begin_no+ " and " +end_no;
rs=DBLink.executequery(mysql);
// rs=DBLink.executequery("select * from (select rownum r,no,name,math,chinese,english from student where rownum<=5)t where t.r>=1");
while(rs.next())
{
%>
<tr>
<td><%=rs.getString("no")%></td>
<td><%=rs.getString("name")%></td>
<td><%=rs.getFloat("math")%></td>
<td><%=rs.getFloat("english")%></td>
<td><%=rs.getFloat("chinese")%></td>
</tr>
<%
}
rs.close();
%>
</table>
第<%=showPage%>页 共<%=PageAllCount%>页
<br>
<a href="1.jsp?page=1">首页</a><%if(showPage<PageAllCount){%><a href="1.jsp?page=<%=showPage+1%>">下一页</a><%}%>
<%if(showPage>1){%><a href="1.jsp?page=<%=showPage-1%>">上一页</a><%}%>
<a href="1.jsp?page=<%=PageAllCount%>">尾页</a>
</br><%
//关闭数据库连接
DBLink.closecon();%>
</FONT>
</body>
</html>
ShowRecordByPage.java放在G:\workspace\hope\src\flower\grass下,代码如下:
package flower.grass;
import java.sql.*;
import java.util.*;
public class ShowRecordByPage
{
String serverName="localhost";
String sConnStr="jdbc:oracle:thin:@localhost:1521:jh";
String login_name="jh";
String pwd="jh";
Statement stmt=null;
Connection conn=null;
ResultSet rs=null;
int afint;
public ShowRecordByPage()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException classnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}
}
public ResultSet executequery(String sql){
try{
conn=DriverManager.getConnection(sConnStr, login_name, pwd);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException e){
System.out.println("can't executeQuery");
}
return rs;
}
public int executeupdate(String sql) throws SQLException{
try
{
conn=DriverManager.getConnection(sConnStr, login_name, pwd);
stmt=conn.createStatement() ;
afint=stmt.executeUpdate(sql);
}catch(SQLException sqlexception)
{
System.err.println(sqlexception.getMessage());
}
return afint;
}
public void closecon()
{
try{
if(rs!=null)
{
rs.close();
}
if(stmt!=null)
{
stmt.close();
}
if(conn!=null)
{
conn.close();
}
}catch(Exception e){}
}
}
发表评论
-
jsp+javabean实现oracle分页(model1模式)
2010-05-18 18:26 28641.首先是DBcon类的代码,这个类就是连接数据用的类,具体的 ... -
oracle分页语句
2010-05-17 15:41 1607oracle分页,保证好使 !! 建表语句: CREATE ... -
jsp+jdbc 真分页(oracle)
2010-05-14 17:31 2344<%@ page language="java ... -
JSP+JDBC_真分页(基于MySQL数据库分页)
2010-05-14 16:31 2731内容: 本案例重点阐述了J2EE中分页代码的基本实现原理,通过 ... -
jsp+jdbc 真分页(mysql)
2010-05-14 15:06 1040在附件里!! -
分页显示数据
2010-04-21 17:42 613<%@ page contentType="t ... -
直接显示数据
2010-04-21 17:16 887<%@ page contentType="t ...
相关推荐
在Oracle数据库中,分页查询是一项关键功能,尤其在构建高效的数据检索系统,如自定义搜索引擎时,确保用户能够分批浏览大量数据。由于Web应用的无状态特性,每个请求都是独立的,维持数据库游标以供后续请求是低效...
分页查询是Oracle数据库比较重要的一个知识点!希望这个对你有参照作用。
mybatis 分页 mybatis-generate Oracle数据库 大家知道mybatis自动生成代码是没有分页功能的 我在网上找了很久 有很多内容 但正真可以使用的少之又少 本人整合了网上的资源 整理了基于Oracle数据库的mybatis插件 ...
开发环境:SpringBoot+SSM,同样适合SpringBoot,具备一定Maven项目基础初学者,详细说明地址http://blog.csdn.net/fjekin/article/details/75541573
Oracle数据库级分页是数据库管理中的一个重要概念,特别是在处理大量数据时,为了提高查询效率和用户体验,分页技术显得尤为关键。在Java开发中,我们通常利用JDBC(Java Database Connectivity)来实现这一功能。本...
1. `ReportUtil4Page.java`: 这可能是用于生成数据库分页查询的工具类,可能包含了与数据库交互的方法,如连接数据库、执行SQL、处理结果集等。 2. `Page.java`: 这个文件可能定义了一个`Page`类,用于封装分页查询...
在Oracle数据库中,SQL分页是一种非常常见的查询技术,它允许我们从大量数据中按需获取一部分结果,而不是一次性加载所有记录。这对于提高用户体验和优化系统性能至关重要,尤其是在处理大数据量的Web应用中。本实践...
本文主要介绍 Oracle 10g 数据库中的一种优化的海量数据分页查询解决方案。该方案通过分析传统分页查询技术的不足,融合了多种技术,包括数据库优化策略、SQL 语句优化、游标变量、批绑定、动态 SQL 等,以提高海量...
在Oracle数据库中,分页查询是一项非常常见的操作,特别是在处理大量数据时,为了提高用户体验,我们通常会将数据分批加载,这就是所谓的“分页”。Java作为一种常用的后端开发语言,提供了多种方式来实现对Oracle...
本教程以"韩顺平Oracle版的分页查询"为主题,结合MyEclipse进行Web开发,旨在教授如何在Oracle数据库中实现高效且实用的分页查询。 首先,我们需要理解Oracle中实现分页查询的基本概念。在SQL语句中,通常使用`...
在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。该类提供了一系列方法,包括基础连接、...
在Java Web开发中,与Oracle数据库进行交互时,分页功能是常见的需求,尤其是在处理大量数据时,为了提高用户体验和加载速度,分批次地显示数据是必不可少的。本项目提供的源代码正是针对这一需求,提供了在Java Web...
Oracle中实现分页查询的SQL命令 //curPage是当前页面,pageCount是每页显示行数 //rownum是伪列,相当于表中每一列的标识列(可以理解为行号),需要显式的提取出来并取一个别名
在Java编程中,连接Oracle数据库并实现分页显示是一项常见的任务。这涉及到对数据库的查询操作,特别是当数据量较大时,为了提高用户体验和系统性能,分页展示数据显得尤为重要。Oracle数据库支持多种方式进行分页,...
Oracle 数据库提供了多种方法来实现分页查询,其中使用存储过程是一种高效且灵活的方式。本文将详细介绍如何在 Oracle 中创建一个用于分页查询并返回总记录数的存储过程。 #### 核心概念 1. **存储过程**:存储在...
在Oracle数据库中,实现分页通常涉及到SQL的`ROWNUM`或`FETCH FIRST`子句(Oracle 12c及更高版本)。`ROWNUM`是一个伪列,表示行的顺序号,而`FETCH FIRST`则允许我们限制返回的行数,从而实现分页效果。 以下是...
### Oracle分页详解 ...本文详细介绍了Oracle数据库中分页查询的实现方法,并提供了一个实用的存储过程示例。通过合理设置参数和构建SQL语句,可以有效地实现高效的数据分页功能,提升系统的响应速度和用户体验。
最后是Oracle数据库。Oracle使用的是`ROWNUM`伪列,但是它不能直接与`ORDER BY`一起使用,所以我们需要结合子查询。获取第一页的方式如下: ```sql SELECT * FROM ( SELECT t.*, ROWNUM AS rn FROM TableName t ...
Oracle数据库在处理大数据量查询时,分页查询是一种常见的优化策略,目的是限制返回结果集的大小,加快查询速度,提供更好的用户体验。本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询...
在IT行业中,数据库分页是一种常见的数据检索策略,特别是在处理大量数据时,它能有效地提高应用性能并优化用户体验。Oracle(ORCL)数据库是企业级广泛使用的数据库管理系统,提供了强大的分页功能。本文将深入探讨...