jsp+oracle 实现简单的分页

list_emp.jsp

代码如下:

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head><title>java study</title></head>
<body>
<%!
	//定义数据库驱动程序
	public static final String DBDRIVER="oracle.jdbc.driver.OracleDriver";
	//数据库连接地址
	public static final String DBURL="jdbc:oracle:thin:@localhost:1521:yy";
	public static final String DBUSER="scott";
	public static final String DBPASS="tiger";

%>
<%
	Connection conn=null;
	PreparedStatement pstmt=null;
	ResultSet rs=null;
%>
<%
try{
	Class.forName(DBDRIVER);
	conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
	int pageSize=3;
	int pageNow=1;//默认显示第一页
	int rowCount=0;//总笔数
	int pageCount=0;
	String s_pageNow=(String)request.getParameter("pageNow");
	if(s_pageNow!=null){
		pageNow = Integer.parseInt(s_pageNow);
	}
	String sql1 = "select count(*) from emp";
	pstmt=conn.prepareStatement(sql1);
	rs=pstmt.executeQuery();
	if(rs.next()){
		rowCount = rs.getInt(1);
	}
	if(rowCount%pageSize==0){
		pageCount = rowCount/pageSize;
	}else{
		pageCount = rowCount/pageSize + 1;
	}
	String sql="SELECT empno,ename,job,hiredate,sal FROM (select a1.*,rownum rn from (select * from emp order by sal desc) a1 WHERE  rownum<="+pageSize*pageNow+") where  rn>="+((pageNow-1)*pageSize+1);
	pstmt=conn.prepareStatement(sql);
	rs=pstmt.executeQuery();
%>
<center>
	<table border="1" width="80%">
		<tr>
			<td>雇员编号</td>
			<td>雇员姓名</td>
			<td>雇员工作</td>
			<td>雇员日期</td>
			<td>雇员工资</td>
		</tr>
<%
	while(rs.next()){
		int empno=rs.getInt(1);
		String ename=rs.getString(2);
		String job=rs.getString(3);
		java.util.Date date=rs.getDate(4);
		float sal=rs.getFloat(5);
%>
		<tr>
			<td><%=empno%></td>
			<td><%=ename%></td>
			<td><%=job%></td>
			<td><%=date%></td>
			<td><%=sal%></td>
		</tr>
<%
	}
%>
	</table>
<form   Action= ""   method= "post"> 
<%  
for(int i=1;i<=pageCount;i++){ 
	out.println("<a href=list_emp.jsp?pageNow="+i+">["+i+"]</a>"); 
} 
if(pageNow != 1){ 
	out.println( " <a  href=list_emp.jsp?pageNow=1>首页</a> "); 
	out.println( " <a   href=list_emp.jsp?pageNow="+(pageNow - 1)+">上一页</a> "); 
} 
if(pageNow != pageCount){ 
	out.println( " <a   href= list_emp.jsp?pageNow="+ (pageNow + 1)+"> 下一页</a>"); 
	out.println( " <a   href= list_emp.jsp?pageNow="+ pageCount+"> 最后一页</a>"); 
} 
%>
</form>
</center>
<%
}catch(Exception e){
	System.out.println(e);
}
finally{
	try{
		rs.close();
		pstmt.close();
		conn.close();
	}catch(Exception e){
		System.out.println(e);
	}
}
%>
</body>
</html>



 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值