菜鸟学习之路(一)
来源:互联网 发布:淘宝化妆品保证金 编辑:程序博客网 时间: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;
}
- JAVAEE菜鸟学习之路(一)
- Java-菜鸟学习之路(一)
- 菜鸟学习之路(一)
- windows API 菜鸟学习之路(一)
- 前端菜鸟的成长学习之路(一)
- ANN学习-算法篇--菜鸟之路(一)
- 菜鸟的cmake 学习之路(一)
- 菜鸟学习之路一摸索
- 菜鸟python教程,菜鸟的python之路(一)
- java菜鸟之路(一)
- 菜鸟面试之路(一)
- 菜鸟之学习51单片机(一)认识开发板
- 菜鸟之学习STM32单片机(一)认识开发板
- 学习python爬虫之菜鸟日记(一)
- 菜鸟的 PHP 学习之路(一):环境搭建与前期准备
- 菜鸟--Adroid学习之法律咨询客户端一
- 机器学习sklearn之菜鸟入门一
- 菜鸟springboot学习之旅一
- spring 定时任务读取文本文件
- myeclipse安装svn插件的多种方式
- 开放 合作 共享 拥抱物业管理新常态
- iOS导航栏透明
- [Drools] JAVA规则引擎
- 菜鸟学习之路(一)
- activity之间的传值与回传
- vim 程序编辑器
- iOS获取对象属性列表
- 写个android代码封装jar包然后代码混淆的笔记
- Android px,dp,pt,sp的区别
- 大数据学习之Scala中数据类型(3)
- Python-OpenCV 处理图像(二):滤镜和图像运算
- 命令行的艺术