📄 pagetool.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 + -