說明:
1.我的數據庫名叫aaa,密碼是123
2.確定數據庫中有數據 這是查詢功能+分頁
創建數據庫sql
CREATE TABLE users (
username varchar2(100),
department varchar2(100),
headship varchar2(100),
)
類放在src下的com包中
db.java
package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class db {
public static Connection getConnection() throws ClassNotFoundException, SQLException
{
Connection con = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@你的ip:1521:aaa";
con = DriverManager.getConnection(url, "SYSTEM","123");
return con;
}
}
查詢頁面MyJsp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import="java.sql.*"%>
<jsp:directive.page import="com.*;"/>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'a.jsp' starting page</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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%!
int pageSize = 5;//每頁顯示的記錄數
int pageCount = 0;//總頁數
%>
<%!
Connection con;
Statement sql;
ResultSet rs;
%>
<%
try
{
con = db.getConnection();
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//可滾動查詢數據的結果集
request.setCharacterEncoding("GB2312");
rs = stmt.executeQuery("select * from users") ;
rs.last(); //讓游標到表中的最后一行
int rowCount = rs.getRow(); //獲取記錄總數.
pageCount = (rowCount % pageSize == 0) ? (rowCount / pageSize ) : (rowCount / pageSize +1);
int showPage = 1;//當前頁
//取得用戶所指定的頁
String goToPage = request.getParameter("showPage");
if (goToPage == null){
goToPage = "1";
}
//轉換成整形
try{
showPage = Integer.parseInt(goToPage);
}
catch (NumberFormatException ex){
showPage = 1;
}
//當前頁小于等于第一頁則按第一頁算 如果 當前頁大于等于總頁數則為最后頁
if(showPage <=1){
showPage = 1;
}
else if(showPage >= pageCount){
showPage = pageCount;
}
//游標的位置 (當前頁 - 1) * 頁面大小 + 1
int posion = (showPage -1 ) * pageSize + 1;
//設置游標的位置
rs.absolute(posion);
%>
<table border="1">
<tr>
<td width="160">用戶名</td>
<td width="160">部門</td>
<td width="160">職位</td>
</tr>
</table>
<%
int i =0;
//循環顯示表中的數據 pageSize(每頁所顯示的記錄)
//rs.isAfterLast() 游標是否在最后一行之后說明后面已經沒記錄
while(i<pageSize && !rs.isAfterLast()){
%>
<table border="1">
<col width="160px"/><col width="160px"/><col width="160px"/><col width="160px"/>
<tr>
<td><%=rs.getString("username")%></td>
<td><%=rs.getString("department")%></td>
<td><%=rs.getString("headship")%></td>
</tr>
<%rs.next();i++;}%>
</table>
<form action="" method="get">
<table border="1">
<tr>
<td>當前第<%=showPage%>頁</td>
<td>共<%=pageCount%>頁</td>
<td>
<a href="MyJsp.jsp?showPage=1">首頁</a>
<a href="MyJsp.jsp?showPage=<%=showPage-1%>">上一頁</a>
<a href="MyJsp.jsp?showPage=<%=showPage+1%>">下一頁</a>
<a href="MyJsp.jsp?showPage=<%=pageCount%>">尾頁</a>
</td>
<td> 共<%=rowCount%>條記錄 </td>
<td>轉到
<input type="text" name="showPage" size="4"/>
<input type="submit" name="go" value="提交"/>
</td>
</tr>
</table>
</form>
<%
con.close() ;
}
catch(Exception e)
{
out.println(e) ;
}
%>
</body>
</html>