您的位置:首页 > 数据库 > Oracle

Myeclipse+oracle分页查询

2016-06-04 22:44 525 查看
分页查询在项目中经常用到的,下面来介绍一下分页查询,下面以oracle数据库为例,用MyEclipse连接,通过JDBC的方式访问数据库,Oracle数据库,我们可以采用rownum的方式进行分页。

①    首先进行和oracle数据库的连接,详细步骤http://jingyan.baidu.com/article/fdbd42771d92b0b89e3f489d.html,还需要添加jar包, 下面连接的数据库及密码:scott/tiger;

②代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>Search Page</title>
</head>
<body>
<%!
String DBDriver="oracle.jdbc.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";//数据库名
String password="tiger";//数据库密码
%>
<%
String sql="select * from (select e.*,rownum m from ( select * from emp) e where rownum<=?) where m>=?";
String sql2="select count(*) from emp";
int pagesize=5;//显示每页显示的记录数
int pagenow=1;//当前页
int rowcount=0;
int pagecount=0;//页数
int max=0;
int min=0;
String s_pagenow=request.getParameter("pagenow");
if(s_pagenow!=null){
pagenow=Integer.parseInt(s_pagenow);
}
Class.forName(DBDriver);
Connection conn=DriverManager.getConnection(url, user, password);
PreparedStatement pst=conn.prepareStatement(sql2);
ResultSet rs=pst.executeQuery();
if(rs.next()){
rowcount=rs.getInt(1);
}
if(rowcount%pagesize==0){
pagecount=rowcount/pagesize;
}else{
pagecount=rowcount/pagesize+1;
}
min=(pagenow-1)*pagesize+1;
max=pagenow*pagesize;
pst=conn.prepareStatement(sql);
pst.setInt(1, max);
pst.setInt(2, min);
rs=pst.executeQuery();
%>
<table border="1">
<tr>
<td>empno</td>
<td>ename</td>
<td>job</td>
</tr>
<%
while(rs.next()){
int empno=rs.getInt(1);
String ename=rs.getString(2);
String job=rs.getString(3);
%>
<tr>
<td><%=empno %></td>
<td><%=ename %></td>
<td><%=job %></td>
</tr>
<%
}

%>
</table>
<%for(int i=1;i<=pagecount;i++){
%>
<a href=index.jsp?pagenow=<%=i %>><%=i %></a>
<%
}
%>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: