菜鸟学习之路(一)

来源:互联网 发布:淘宝化妆品保证金 编辑:程序博客网 时间:2024/05/17 21:55

        本人菜鸟一枚,即将毕业,尝试找了一下工作,结果四处碰壁,但也发现了不少的问题,对于自己的学习方法和心态有了一个新的认识,我在这里贴出自己的学习历程和每天掌握的知识,大家一起讨论讨论,共同进步。万望各路大神多提意见!!!!!(用词可能不太准确请见谅!)

        今天我主要讨论的是关于数据分页的问题:

现在的web页面大都离不开分页,所以分页是很重要的,那么我们如何去分页呢!(我是用的是mysql数据库!)

1.我们在数据库中分页使用的的是limit关键字

select * from class_name limit pageNO,pageSize;

pageNo 指的是哪一页(从0开始算),pageSize指的是一页有几行记录

        2.这样我们从数据库中进行分页,把分页后的内容进行保存保存在一个专门的类中,便于其他地方的调用如类:pageModel

public class PageModel {
private List list;                //相应的数据列表
private int totalRecords;          //总共分几页
private int pageSize;               //页的大小
private int pageNo;                  //第几页

public int getTotalPages() {
return (this.totalRecords + this.pageSize -1 )/this.pageSize;                     //分多少页的算法
}

public int getTopPageNo() {                                                    //第一页
return 1;
}

public int getPreviousPage() {                                         //上一页
if(pageNo <= 1) {
return 1;
}
return pageNo - 1;
}

public int getNextPage() {                                                       //下一页
if(pageNo >= this.getBottomPage()) {
return this.getBottomPage();
}
return pageNo+1;
}

public int getBottomPage() {                                         //尾页
return this.getTotalPages();
}

public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {                          //得到共有多少条记录
this.totalRecords = totalRecords;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}

}

3.下面的是分页分页函数的实现



/**
* 根据pageNo和pageSize进行分页
* @param pageNo  第几页(这里默认是1)
* @param pageSize  每页大小
* @return
*/
public PageModel findAllFiscalYearPeriod(int pageNo, int pageSize) {
int pageBegion = (pageNo -1) *pageSize;            //从第零页开始
String sql = "select * from t_fiscal_year_period limit ?,?";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
PageModel pageModel = null;
List<FiscalYearPeriod> list = null;
try {
list = new ArrayList<FiscalYearPeriod>();
conn = DB.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, pageBegion);
pstmt.setInt(2, pageSize);
rs = pstmt.executeQuery();
while(rs.next()) {
FiscalYearPeriod fiscalYearPeriod = new FiscalYearPeriod();
fiscalYearPeriod.setId(rs.getInt("id"));
fiscalYearPeriod.setFiscalYear(rs.getInt("fiscal_year"));
fiscalYearPeriod.setFiscalPeriod(rs.getInt("fiscal_period"));
fiscalYearPeriod.setBeginDate(rs.getDate("begin_date"));
fiscalYearPeriod.setEndDate(rs.getDate("end_date"));
fiscalYearPeriod.setPeriodSts(rs.getString("period_sts"));
list.add(fiscalYearPeriod);
}
pageModel = new PageModel();
pageModel.setPageNo(pageNo);
pageModel.setPageSize(pageSize);
pageModel.setList(list);
pageModel.setTotalRecords(getTotalRecords(conn));
} catch(SQLException e) {
e.printStackTrace();
} finally {
DB.close(rs);
DB.close(pstmt);
DB.close(conn);
}
return pageModel;
}
/**
* 计算核算期间总数
* @param conn
* @return
*/
public int getTotalRecords(Connection conn) {
String sql = "select count(*) from t_fiscal_year_period";
PreparedStatement pstmt = null;
ResultSet rs = null;
int count = 0;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
rs.next();
count = rs.getInt(1);
} catch(SQLException e) {
e.printStackTrace();
} finally {
DB.close(rs);
DB.close(pstmt);
}
return count;
}

0 0
原创粉丝点击