标签:
1、定义分页模型:PageModel
package
com.common.page;
import
java.util.List;
/**
* 封装分页信息
* @author Administrator
*
*/
public
class
PageModel<E> {
//结果集
private
List<E> list;
//查询记录数
private
int
totalRecords;
//每页多少条数据
private
int
pageSize;
//第几页
private
int
pageNo;
/**
* 总页数
* @return
*/
public
int
getTotalPages() {
return
(totalRecords + pageSize -
1
) / pageSize;
}
/**
* 取得首页
* @return
*/
public
int
getTopPageNo() {
return
1
;
}
/**
* 上一页
* @return
*/
public
int
getPreviousPageNo() {
if
(pageNo <=
1
) {
return
1
;
}
return
pageNo -
1
;
}
/**
* 下一页
* @return
*/
public
int
getNextPageNo() {
if
(pageNo >= getBottomPageNo()) {
return
getBottomPageNo();
}
return
pageNo +
1
;
}
/**
* 取得尾页
* @return
*/
public
int
getBottomPageNo() {
return
getTotalPages();
}
public
List<E> getList() {
return
list;
}
public
void
setList(List<E> 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;
}
}
package
com.common.page;
public
class
Admin {
private
int
id;
private
String name;
private
String password;
public
int
getId() {
return
id;
}
public
void
setId(
int
id) {
this
.id = id;
}
public
String getName() {
return
name;
}
public
void
setName(String name) {
this
.name = name;
}
public
String getPassword() {
return
password;
}
public
void
setPassword(String password) {
this
.password = password;
}
}
package
com.common.page;
import
java.sql.Connection;
import
java.sql.PreparedStatement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.util.ArrayList;
import
java.util.List;
import
com.common.db.DbUtil;
public
class
Client {
public
static
PageModel findAdmins(
int
pageNo,
int
pageSize){
Connection conn=DbUtil.getConnection();
String sql=
"select * from admin limit ?,?"
;
PageModel pageModel=
null
;
PreparedStatement pstm=
null
;
ResultSet rs=
null
;
Admin admin=
null
;
List<Admin> list=
new
ArrayList<Admin>();
try
{
pstm=conn.prepareStatement(sql);
pstm.setInt(
1
, (pageNo-
1
)*pageSize);
pstm.setInt(
2
, pageNo*pageSize);
rs=pstm.executeQuery();;
while
(rs.next()){
admin=
new
Admin();
admin.setId(rs.getInt(
"a_id"
));
admin.setName(rs.getString(
"a_name"
));
admin.setPassword(rs.getString(
"a_pwd"
));
list.add(admin);
}
ResultSet rs2=pstm.executeQuery(
"select count(*) from admin"
);
int
total=
0
;
if
(rs2.next()){
total=rs2.getInt(
1
);
}
pageModel=
new
PageModel();
pageModel.setPageNo(pageNo);
pageModel.setPageSize(pageSize);
pageModel.setTotalRecords(total);
pageModel.setList(list);
}
catch
(SQLException e) {
e.printStackTrace();
}
finally
{
DbUtil.close(conn);
DbUtil.close(pstm);
DbUtil.close(rs);
}
return
pageModel;
}
public
static
void
main(String[] args) {
PageModel pageModel=Client.findAdmins(
2
,
4
);
List<Admin> list=pageModel.getList();
for
(Admin a:list){
System.out.print(
"ID:"
+a.getId()+
",用户名:"
+a.getName()+
",密码:"
+a.getPassword());
System.out.println();
}
System.out.print(
"当前页:"
+pageModel.getPageNo()+
" "
);
System.out.print(
"共"
+pageModel.getTotalPages()+
"页 "
);
System.out.print(
"首页:"
+pageModel.getTopPageNo()+
" "
);
System.out.print(
"上一页:"
+pageModel.getPreviousPageNo()+
" "
);
System.out.print(
"下一页:"
+pageModel.getNextPageNo()+
" "
);
System.out.print(
"尾页:"
+pageModel.getBottomPageNo()+
" "
);
System.out.print(
"共"
+pageModel.getTotalRecords()+
"条记录"
);
System.out.println();
}
}
标签:
原文地址:http://www.cnblogs.com/xuenan/p/4929640.html