package com.lxn.page;
/**
* @author :lin xiangnan
* @date :2014年8月5日 下午5:12:12
* @function:
*/
import java.sql.*;
import java.util.ArrayList;
public class Mysql {
private static String driver ="com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/mydb";
private static String mysql_name = "root";
private static String mysql_password = "lxn1992";
private static Connection connect=null;
private static Statement stmt=null;
private static PreparedStatement pstmt=null;
String tableName="";
int start=1;
int end=0;
int num=0;
int page=0;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getEnd() {
return end;
}
public void setEnd(int end) {
this.end = end;
}
String result="";
String result2="";
public Mysql() throws SQLException {
// TODO Auto-generated constructor stub
initSql();
}
//加载MYSQL JDBC驱动程序 ------------------------------------------------------------------------------------------------
private static void initSql() throws SQLException {
// TODO Auto-generated method stub
try {
Class.forName(driver); //加载MYSQL JDBC驱动程序
// Class.forName("org.gjt.mm.mysql.Driver");
// System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
}
//连接数据库(自动方式)-----------------------------------------------------------------------------------------------------------------
private void connectSql() throws SQLException{
try {
connect = DriverManager.getConnection(
url,mysql_name,mysql_password);
//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码
//System.out.println("连接数据库");
} catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
//断开数据库连接------------------------------------------------------------------------------------------------------------
private void notConnectSql(Connection connect) throws SQLException{
connect.close();
//System.out.println("关闭数据库连接");
}
//获得数据库某一表的的用户数量
public int getUserNum(String table_name) throws SQLException {
// TODO Auto-generated method stub
this.connectSql();
stmt=connect.createStatement();
ResultSet rs= stmt.executeQuery("select username from "+table_name);
int num=0;
while(rs.next()){
num++;
}
rs.close();
stmt.close();
this.notConnectSql(connect);
return num;
}
//输出输出数据库的某几行数据
public void useForDisplay(String table_name,int page_start,int page_end,int num,int page) throws SQLException{
UserBean user=new UserBean();
this.tableName=table_name;
this.start=page_start;
this.end=page_end;
this.num=num;
this.page=page;
}
/*
//用于ArrayList返回
public ArrayList page_select() throws SQLException{
this.connectSql();
int page_num=end-start+1;
stmt=connect.createStatement();
UserBean user=new UserBean();
ArrayList<Comparable> list1=new ArrayList();
//System.out.println("测试是否可以输出:"+page_start+"与"+page_num);
ResultSet rs=stmt.executeQuery("select * from "+tableName+" order by 'ID' asc limit "+(start-1)+","+page_num);
while(rs.next()){
//userlist.add(0,rs.getInt("id"));
list1.add(0,rs.getString("username"));
list1.add(1,rs.getString("name"));
list1.add(2,rs.getString("password"));
list1.add(3,rs.getInt("age"));
//System.out.println("测试是否可以输出:"+rs.getString("username")+"与"+rs.getString("name"));
}
rs.close();
stmt.close();
this.notConnectSql(connect);
return list1;
}
*/
//获得列表名-----------------------------------------------------------------------------------------------------------------
public String getTableName()
{
return tableName;
}
//创建列表名
public void setTableName(String tableName)
{
this.tableName = tableName;
}
//做成result表格
public String getResult() throws SQLException{
this.connectSql();
int page_num=end-start+1;
stmt=connect.createStatement();
StringBuffer buffer=new StringBuffer();
//System.out.println("测试是否可以输出:"+page_start+"与"+page_num);
ResultSet rs=stmt.executeQuery("select * from "+tableName+" order by 'ID' asc limit "+(start-1)+","+page_num);
/*
while(rs.next()){
//userlist.add(0,rs.getInt("id"));
list1.add(0,rs.getString("username"));
list1.add(1,rs.getString("name"));
list1.add(2,rs.getString("password"));
list1.add(3,rs.getInt("age"));
//System.out.println("测试是否可以输出:"+rs.getString("username")+"与"+rs.getString("name"));
//buffer.append(rs.getString("username"));
}
*/
int colNum=rs.getMetaData().getColumnCount();//表格列数
buffer.append("<center>");
buffer.append("<form method='post' action='InformShow'>");
buffer.append("<table border=1 cellpadding=5>");
buffer.append("<tr>");
int i=1;
while(true){
String name=rs.getMetaData().getColumnName(i).toString();
buffer.append("<th>"+name+"</th>");
i++;
if(i>colNum) break;
}
//-------------------------测试start----------------------------------------
// buffer.append("<th>"+"操作栏"+"</th>");
//--------------------------测试end----------------------------------------
buffer.append("</tr>");
int j=1;
while(rs.next()){
buffer.append("<tr>");
for(i=1;i<=colNum;i++){
buffer.append("<td align='center'>"+rs.getString(i)+"</td>");
}
//-------------------------测试start----------------------------------------
// buffer.append("<td>"+"<input type='submit' name='look"+j+"' value='查看'>"+"<input type='submit' name='change"+j+"' value='修改'>"+"<input type='submit' name='delete"+j+"' value='删除'>"+"</td>");
j++;
//-------------------------测试end----------------------------------------
buffer.append("</tr>");
}
buffer.append("</table>");
//测试分页
buffer.append("<br/>");
//分为几页,显示出来
//System.out.println("num值为"+num);
// System.out.println("tableName值为"+tableName);
//System.out.println("page值为"+page);
if(num!=0){
if(this.getUserNum(tableName)%num!=0){
int m=this.getUserNum(tableName)/num+2;
//总页数不大于7
if(m<7){
for(int cco=1;cco<m;cco++){
buffer.append(" <input type='submit' name='page' value='"+cco+"'>");
}
}
//总页数大于7
else{
//如果当前页小于3
if(page<5)
{
for(int cco=1;cco<7;cco++){
buffer.append(" <input type='submit' name='page' value='"+cco+"'>");
}
buffer.append("……");
}
//如果当前页大于m-3
else if(page>m-4){
buffer.append("……");
for(int cco=m-6;cco<m;cco++){
buffer.append(" <input type='submit' name='page' value='"+cco+"'>");
}
}
else{
buffer.appe
没有合适的资源?快使用搜索试试~ 我知道了~
使用jsp与servlet作表格分页
共23个文件
java:5个
class:5个
jsp:3个
5星 · 超过95%的资源 需积分: 12 11 下载量 156 浏览量
2014-08-06
11:48:02
上传
评论
收藏 19KB RAR 举报
温馨提示
使用jsp、jsp的相关标签、mysql、servlet来制作对数据库内表格的分页操作,达到对表的操作,每页有几行数据,点击页数显示该页的数据,实现分页功能。
资源推荐
资源详情
资源评论
收起资源包目录
Test_Page.rar (23个子文件)
Test_Page
WebContent
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 652B
lib
informshow.jsp 1KB
login.jsp 677B
fail.jsp 467B
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.common.component 479B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 503B
org.eclipse.jdt.core.prefs 364B
src
com
lxn
page
InformShow.java 3KB
Login.java 2KB
UserBean.java 1KB
Page.java 2KB
Mysql.java 9KB
.project 1KB
.classpath 837B
build
classes
com
lxn
page
InformShow.class 3KB
Page.class 2KB
Mysql.class 6KB
UserBean.class 2KB
Login.class 2KB
共 23 条
- 1
资源评论
- oracledba2015-09-14学习挺好的例字。
mike_servlet
- 粉丝: 9
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功