今天做了一个JDBC连接Oracle,其实和连接别的数据库很相似,关键是分页。初步实现了功能,条理不够清楚,有什么疑问可以给我留言,大家共同进步。
<%@ page language="java" import="java.util.*,java.sql.*"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>Oracle 分页</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<%
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try {
String URL = "jdbc:oracle:thin:@localhost:1521:myoracl";
String user = "scott";
String password = "tiger";
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(URL, user, password);
stmt = conn.createStatement();
String s_pagenow = (String) request.getParameter("pagenow");
int pagenow = 1;
if (s_pagenow != null) {
pagenow = Integer.parseInt(s_pagenow);
}
int pagecount = 0; //
int rowcount = 0; //共有几条记录
int pagesize = 3; //每页显示几条记录
rs = stmt.executeQuery("select count(*) from emp");
if (rs.next()) {
rowcount = rs.getInt(1);
if (rowcount % pagesize == 0) {
pagecount = rowcount / pagesize;
} else {
pagecount = rowcount / pagesize + 1;
}
System.out.println(rowcount);
}
rs = stmt
.executeQuery("select * from ( select a1.*,rownum rn from (select * from emp) a1 where rownum<="
+ (pagenow * pagesize)
+ ") where rn>="
+ ((pagenow - 1) * pagesize + 1));
out.print("<table><tr><td>职工号</td><td>姓名</td></tr>");
while (rs.next()) {
out.print("<tr>");
out.print("<td>" + rs.getString("empno") + "</td>");
out.print("<td>" + rs.getString("ename") + "</td>");
out.print("</tr>");
}
out.print("</table>");
for (int i = 1; i <= pagecount; i++) {
out.print("<a href=OracleFenye.jsp?pagenow=" + i + ">[" + i
+ "]</a>");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>
分享到:
相关推荐
oracle数据库的查询分页加条件和排序的通用型存储过程,通过将表名以参数的形式传入到存储过程中做到多表通用,也可以是多表关联的sql语句 将其看作一个表也能调用该存储过程,分页只需要传与页数,和每页显示的行数...
mybatis 分页 mybatis-generate Oracle数据库 大家知道mybatis自动生成代码是没有分页功能的 我在网上找了很久 有很多内容 但正真可以使用的少之又少 本人整合了网上的资源 整理了基于Oracle数据库的mybatis插件 ...
Oracle分页查询Oracle分页查询Oracle分页查询Oracle分页查询
Oracle的分页查询语句以及Oracle分页的存储过程
ORACLE分页查询效率
oracle分页查询语句sql
oracle分页查询并返回总记录数据的存储过程
使用数据库时有时我们会需要分页查询,但是在oracle中使用查询条件时又不可以使用大于号>。
java实现oracle分页策略完整版,可当做参考类使用,有详细注释,适合初学者。
解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题解决Oracle分页查询中排序与效率问题
Oracle的SQL分页实践
用于oracle,mysql,sqlserver,数据库分页联合查询
分页查询是Oracle数据库比较重要的一个知识点!希望这个对你有参照作用。
SSH+ORACLE通用分页 开发项目中经常用这个分页方式!
oracle&jsp简单实现分页,注意到Oracle包
Oracle 存储过程 Oracle分页 oracle分页
Oracle分页(limit方式的运用)Oracle分页(limit方式的运用)
msql和oracle分页查询语句笔记
SSH+ORACLE好用分页只要部署和添加SSH的JAR包就可以直接运行了!
kettle oracle循环分页迁移数据的完整例子,生成txt后FTP上传到远程服务器