驱动JAR包:struts1.x mysql
String driverName = "com.mysql.jdbc.Driver";
String userName = "root";//数据库用户名
String userPasswd = "xxm";//密码
String dbName = "student";//数据库名
String tableName = "student"; //表名
//连接字符串
String url = "jdbc:mysql://127.0.0.1:3306/" + dbName+ "?user=" + userName + "&password=" + userPasswd;
Class.forName(driverName).newInstance();
Connection connection = DriverManager.getConnection(url);
Statement statement = connection.createStatement();
int EveryPageSize = 4; //每页显示记录数
int FirstPage=0; //起始页
int LastPage=0; //最后一页
int CurrentPageNo = 0; //当前页
int CurrentPageStartNo = 0; //当前页的起始值
int CurrentPageEndNo = 0; //当前页的结束值-----在次页面没有起到作用
int TotalRecords = 0; //总记录数;
int TotalPage = 0; //总页数
int PrePage = 0; //上一页
int NextPage = 0; //下一页
//获取总记录数
ResultSet rs = statement.executeQuery("select count(*) from "+tableName);
rs.next();
TotalRecords = rs.getInt(1);
//获取总页数
if (TotalRecords % EveryPageSize == 0) {
TotalPage = TotalRecords / EveryPageSize;
} else {
TotalPage = TotalRecords / EveryPageSize + 1;
}
//获取需要显示的页数,由用户提交
//如果为空,则默认表示第1页
if (request.getParameter("CurrentPageNo") == null) {
//如果只有一页
if(TotalRecords<=EveryPageSize){
FirstPage=1;
LastPage=1;
CurrentPageNo = 1;
CurrentPageStartNo=0;
CurrentPageEndNo=TotalRecords-1;
}else{
//如果大于一页
FirstPage=1;
//如果刚好满页显示
if(TotalRecords%EveryPageSize==0){
LastPage=TotalRecords/EveryPageSize;
}else{
LastPage=TotalRecords/EveryPageSize+1;
}
CurrentPageNo = 1;
CurrentPageStartNo=0;
CurrentPageEndNo=EveryPageSize-1;
}
} else {
//如果不为空,可能是第一页,也可能不是
CurrentPageNo = Integer.parseInt(request.getParameter("CurrentPageNo")); //获得用户提交的页数
if(CurrentPageNo==1){
//如果只有一页
if(TotalRecords<=EveryPageSize){
FirstPage=1;
LastPage=1;
CurrentPageStartNo=0;
CurrentPageEndNo=TotalRecords-1;
}else{
//如果大于一页
FirstPage=1;
//如果刚好满页显示
if(TotalRecords%EveryPageSize==0){
LastPage=TotalRecords/EveryPageSize;
}else{
LastPage=TotalRecords/EveryPageSize+1;
}
CurrentPageStartNo=0;
CurrentPageEndNo=EveryPageSize-1;
}
}else{
FirstPage=1;
//如果刚好满页显示
if(TotalRecords%EveryPageSize==0){
LastPage=TotalRecords/EveryPageSize;
}else{
LastPage=TotalRecords/EveryPageSize+1;
}
CurrentPageStartNo=(CurrentPageNo-1)*EveryPageSize;
CurrentPageEndNo=TotalRecords-(CurrentPageNo-1)*EveryPageSize;
}
}
%>
分页显示记录分页显示记录 | ||||
序号 | 学号 | 名字 | 性别 | 分数 |
if(request.getParameter("first")!=null ){
CurrentPageStartNo=0;
EveryPageSize=1;
}
if(request.getParameter("last")!=null){
CurrentPageStartNo=TotalRecords-1;
System.out.println(CurrentPageStartNo);
}
String sql="SELECT * FROM "+tableName+" ORDER BY no DESC LIMIT " + CurrentPageStartNo + ", " + EveryPageSize;
System.out.println(sql);
rs = statement.executeQuery(sql);
int i = 1;
while (rs.next()) {
int order_ID = i + (CurrentPageNo - 1) * EveryPageSize;
%>
i++;
}
%>
out.print(""); out.print("第一条 "); //显示第一页或者前一页的链接 //如果当前页不是第1页,则显示第一页和前一页的链接 if (CurrentPageNo != 1) { PrePage = CurrentPageNo - 1; out.print("第一页 "); out.print(":"); out.print("前一页"); } out.print("["); //打印需要显示的页码 for (int c = FirstPage; c <= LastPage; c++) { if(c out.print("" + c + ""); out.print(","); }else if(LastPage==TotalPage){ out.print("" + c + ""); } } out.print("]"); if (CurrentPageNo < TotalPage) { //如果当前页不是最后一页,则显示下一页链接 ,最后一页的链接 NextPage = CurrentPageNo + 1; out.print("下一页"); out.print(":"); out.print("最后一页"); } out.print("最后一条"); out.print(""); %> |
rs.close();
statement.close();
connection.close();
%>
______________________________________________________________________________________
Connection con = null;
ResultSet rs = null;
int PageSize = 10; //一页显示的记录数
int RowCount; //记录总数
int PageCount; //总页数
int Page; //待显示页码
int i, j;
String strPage = request.getParameter("page");
if (strPage == null) {
//表明在QueryString中没有page这一个参数,此时显示第一页数据
Page = 1;
} else {
//将字符串转换成整型
Page = Integer.parseInt(strPage);
if (Page < 1)
Page = 1;
}
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
con = DriverManager.getConnection("proxool.game");
String count = "select count(*) from cq_play ";
PreparedStatement pstmt = con.prepareStatement(count);
rs = pstmt.executeQuery();
rs.next();
RowCount = rs.getInt(1);
PageCount = (RowCount + PageSize - 1) / PageSize; //记算总页数
if (Page > PageCount)
Page = PageCount; //调整待显示的页码
String sql = "select * from cq_play ";
pstmt = con.prepareStatement(sql);
rs = pstmt.executeQuery();
i = (Page - 1) * PageSize; //将记录指针定位到待显示页的第一条记录上
for (j = 0; j < i; j++)
rs.next();
i = 0;
while (i < PageSize && rs.next()) {
i++;
}
%>