📄 dboperation.java
字号:
package com.log.util.page;
import java.util.*;
import java.sql.*;
import com.lzc.util.Tools;
import com.lzc.util.db.DBManager;
public class DbOperation {
private int pagecount = 0;// 每页显示纪录数
private int pagenumber = 0;// 第几页
private int allpagenumber = 0;// 总页数
private int allrowcount = 0;// 总纪录数
private String sqlquery = null;
private String sqlorder = "";
private String sqldescorder = "";
private ResultSet rs = null;
public int getPagecount() {
return pagecount;
}
public int getAllrowcount() {
return allrowcount;
}
public int getAllpagenumber() {
return allpagenumber;
}
public String getSqlquery() {
return sqlquery;
}
public void setPagenumber(int pagenumber) {
this.pagenumber = pagenumber;
}
public void setPagecount(int pagecount) {
this.pagecount = pagecount;
}
public void setAllrowcount(int allrowcount) {
this.allrowcount = allrowcount;
}
public void setAllpagenumber(int allpagenumber) {
this.allpagenumber = allpagenumber;
}
public void setSqlquery(String sqlquery) {
this.sqlquery = sqlquery;
}
public void setSqlorder(String sqlorder) {
this.sqlorder = sqlorder;
}
public int getPagenumber() {
return pagenumber;
}
public String getSqlorder() {
return sqlorder;
}
public DbOperation() {
}
/**
* 改变分页排序
*
* @return String
*/
public void changeSqlOrder() {
String orderchanged = "";
String[] strorder = null;
strorder = sqlorder.split(",");
if (strorder.length > 0) {
for (int i = 0; i < strorder.length; i++) {
// logger.info(strorder[i].substring(strorder[i].length()-3,strorder[i].length()));
if (strorder[i].length() < 3) {
if (orderchanged.equals("")) {
orderchanged = strorder[i] + " desc";
} else {
orderchanged = orderchanged + "," + strorder[i]
+ " desc";
}
} else {
if (strorder[i].substring(strorder[i].length() - 3,
strorder[i].length()).equals("asc")) {
if (orderchanged.equals("")) {
orderchanged = strorder[i]
.replaceAll("asc", "desc");
} else {
orderchanged = orderchanged + ","
+ strorder[i].replaceAll("asc", "desc");
}
} else if (strorder[i].substring(strorder[i].length() - 3,
strorder[i].length()).equals("esc")) {
if (orderchanged.equals("")) {
orderchanged = strorder[i]
.replaceAll("desc", "asc");
} else {
orderchanged = orderchanged + ","
+ strorder[i].replaceAll("desc", "asc");
}
} else {
if (orderchanged.equals("")) {
orderchanged = strorder[i] + " desc";
} else {
orderchanged = orderchanged + "," + strorder[i]
+ " desc";
}
}
}
}
}
// logger.info("orderchanged = " +orderchanged);
sqldescorder = orderchanged;
}
public int getRowCount() {
int rowcount = 0;
String sql = "";
sql = "select count(0) as count ";
sql = sql + " from (" + this.getSqlquery() + ") tb1";
try {
// System.out.println(sql);
String[][] data = DBManager.getNewInstance("szhtp").query(sql,2,1);
if(data.length>1){
String count=Tools.getRsString("count", data, 1,"");
rowcount=Integer.parseInt(count);
}
} catch (Exception e) {
System.out.println("Error in getRowCount:"+e);
}
return rowcount;
}
public String[][] getPageList() {
List list = new ArrayList();
String[][] data=null;
int toplast = 0;
// 总记录数
int recordcount = getRowCount();
String sql = "";
// 最后一页显示记录数
toplast = recordcount % pagecount;
if (toplast == 0) {
toplast = pagecount;
}
// 总页数
int pages = 0;
if (recordcount > 0) {
pages = (recordcount - 1) / pagecount + 1;
}
this.setAllrowcount(recordcount);
this.setAllpagenumber(pages);
// System.out.println("allrowcount="+allrowcount);
// System.out.println("allpagenumber="+allpagenumber);
// if(toplast >0)
String sqla = "";
String sqlb = "";
/*
* if(!"".equals(sqlwhere)){ sqlwhere = " where " + sqlwhere; }
*/
this.changeSqlOrder();
sqla = "select top " + pagecount * this.getPagenumber() + " * from ("
+ this.getSqlquery() + ") tb " + sqlorder;
sqla = "(" + sqla + ") tb1 ";
if (this.getPagenumber() >= allpagenumber) {
sqlb = "select top " + toplast + " * from " + sqla + sqldescorder;
sql = "select * from (" + sqlb + ") tb2 " + sqlorder;
} else {
sqlb = "select top " + pagecount + " * from " + sqla + " "
+ sqldescorder;
sql = "select * from (" + sqlb + ") tb2 " + " " + sqlorder;
}
try {
data=DBManager.getNewInstance("szhtp").query(sql,-1,1);
// db_sql = new Db_sql();
// rs = db_sql.query(sql);
//
// if (rs != null) {
// while (rs.next()) {
// // System.out.println("this");
// ResultSetMetaData rsmd = rs.getMetaData();
// Map map = new HashMap();
// for (int i = 1; i <= rsmd.getColumnCount(); i++) {
// map.put(rsmd.getColumnName(i), rs.getObject(i));
// }
// list.add(map);
// }
// }
} catch (Exception e) {
System.out.println("sql:" + sql);
System.out.println("Error in getPageList:" + e);
}
return data;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -