⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagetool.java

📁 加拿大达内科技有限公司配需java程序员的上课时的代码
💻 JAVA
字号:
package day03;

import java.sql.*;

public class PageTool {
	private int pageSize;
	private Connection con;
	private PreparedStatement ps;
	private String sql = "select * from xun";
	private ResultSet rs;
	private ResultSetMetaData md;

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public PageTool() {
		try {
			con = JdbcUtil.getConnection();
			ps = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE,
					ResultSet.CONCUR_READ_ONLY);
			rs = ps.executeQuery();
			md = ps.getMetaData();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public int countPageNum() {
		int pageNum = 0;
		try {
			rs.last();
			int recordNum = rs.getRow();
			pageNum = (recordNum + pageSize - 1) / pageSize;// 加上最大余数 
		} catch (Exception e) {
			e.printStackTrace();
		}
		return pageNum;
	}

	public String getPage(int pageNo) {
		StringBuffer sb = new StringBuffer();
		int position = pageSize * (pageNo - 1);
		try {
			rs.absolute(position);
			int count = pageSize;
			while (count-- > 0 && rs.next()) {
				readRecord(sb);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return sb.toString();
	}

	public void release() {
		JdbcUtil.release(rs, ps, con);
	}

	private void readRecord(StringBuffer sb) {
		try {
			int num = md.getColumnCount();
			for (int i = 1; i <= num; i++) {
				int size = md.getColumnDisplaySize(i);
				if (size != 0) {
					String value = rs.getString(i);
					int blank = (size - value.length()) / 2;
					for (int j = 0; j < blank; j++)
						sb.append(" ");
					sb.append(value);
					if ((size - value.length()) % 2 != 0)
						blank++;
					for (int j = 0; j < blank; j++)
						sb.append(" ");
				}
			}
			sb.append("\n");
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	private void readColumnName( StringBuffer sb) {
		try {
			int num = md.getColumnCount();
			for (int i = 1; i <= num; i++) {
				int size = md.getColumnDisplaySize(i);
				if (size != 0) {
					String cname = md.getColumnName(i);
					int blank = (size - cname.length()) / 2;
					for (int j = 0; j < blank; j++)
						sb.append(" ");
					sb.append(cname);
					if ((size - cname.length()) % 2 != 0)
						blank++;
					for (int j = 0; j < blank; j++)
						sb.append(" ");
				}
			}
			sb.append("\n");
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -