2013-07-01
展开全部
自己写的话,其实也很简单:
第一中就是,你先将所有的数据都取出来,在程序中将这个LIST,根据每页几条分成几段,页面上传过来页码就直接调用LIST就行;你可以写个方法 根据页码到整个LIST中取出当前页需要显示的数据就,可以了
第二种就是,根据页码 来设置数据数据库中查询的行数从几行到几行;也不难
第一种是在程序里分,第二种是在数据库中分;
推荐用第一种哈,少访问几次数据库;呵呵
第一中就是,你先将所有的数据都取出来,在程序中将这个LIST,根据每页几条分成几段,页面上传过来页码就直接调用LIST就行;你可以写个方法 根据页码到整个LIST中取出当前页需要显示的数据就,可以了
第二种就是,根据页码 来设置数据数据库中查询的行数从几行到几行;也不难
第一种是在程序里分,第二种是在数据库中分;
推荐用第一种哈,少访问几次数据库;呵呵
2013-07-01
展开全部
这个跟数据库有关,分页一定要根据一定顺序先排序,再分页。你可以计算出第N个位置的数据的排序字段的值,和N+M个数据的排序字段值,然后区这个区间的所有数据。SQL server可以用top关键字,oralce可以用 rownum。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-08-08
展开全部
public class UserPageDAO {
DBManager dbManager = null;
private int pageItem; //一页显示多少条数据
private int pageRow; //当前是多少页
private int dataCount; //一共多少条数据
public UserPageDAO(){
dbManager = new DBManager();
}
/*
* pageItem设置一页显示多少行
*/
public UserPageDAO(int pageItem){
this.pageItem = pageItem;
dbManager = new DBManager();
}
ArrayList<UserPageVO> arr = null;
UserPageVO userPage = null;
public ArrayList<UserPageVO> showPage(int pageRow){
try{
int page = this.pageItem * (pageRow - 1) ;
String sql = "select top " + this.pageItem + " id, name, password from page where id not in (select top " + page + "id from page )";
ResultSet res = dbManager.query(sql);
arr = new ArrayList<UserPageVO>();
while (res.next()){
userPage = new UserPageVO();
userPage.setId(res.getString("id"));
userPage.setName(res.getString("name"));
userPage.setPassword(res.getString("password"));
arr.add(userPage);
}
return arr;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
/*
* 返回一共有多少页
*/
public int getPageCount(){
try{
String sql = "select count(*) from page";
ResultSet res = dbManager.query(sql);
if (res.next()){
this.dataCount = res.getInt(1); //得到有多少条数据
}else{
this.dataCount = 0;
}
if (this.dataCount % this.pageItem == 0 ){
return this.dataCount / this.pageItem;
}else{
return this.dataCount / this.pageItem + 1;
}
}catch(Exception e){
e.printStackTrace();
return 0;
}
}
public int getDataCount() {
return dataCount;
}
public void setDataCount(int dataCount) {
this.dataCount = dataCount;
}
public int getPageItem() {
return pageItem;
}
public void setPageItem(int pageItem) {
this.pageItem = pageItem;
}
public int getPageRow() {
return pageRow;
}
public void setPageRow(int pageRow) {
this.pageRow = pageRow;
}
}
写一个分页类,再写一个方法传入当前页数
DBManager dbManager = null;
private int pageItem; //一页显示多少条数据
private int pageRow; //当前是多少页
private int dataCount; //一共多少条数据
public UserPageDAO(){
dbManager = new DBManager();
}
/*
* pageItem设置一页显示多少行
*/
public UserPageDAO(int pageItem){
this.pageItem = pageItem;
dbManager = new DBManager();
}
ArrayList<UserPageVO> arr = null;
UserPageVO userPage = null;
public ArrayList<UserPageVO> showPage(int pageRow){
try{
int page = this.pageItem * (pageRow - 1) ;
String sql = "select top " + this.pageItem + " id, name, password from page where id not in (select top " + page + "id from page )";
ResultSet res = dbManager.query(sql);
arr = new ArrayList<UserPageVO>();
while (res.next()){
userPage = new UserPageVO();
userPage.setId(res.getString("id"));
userPage.setName(res.getString("name"));
userPage.setPassword(res.getString("password"));
arr.add(userPage);
}
return arr;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
/*
* 返回一共有多少页
*/
public int getPageCount(){
try{
String sql = "select count(*) from page";
ResultSet res = dbManager.query(sql);
if (res.next()){
this.dataCount = res.getInt(1); //得到有多少条数据
}else{
this.dataCount = 0;
}
if (this.dataCount % this.pageItem == 0 ){
return this.dataCount / this.pageItem;
}else{
return this.dataCount / this.pageItem + 1;
}
}catch(Exception e){
e.printStackTrace();
return 0;
}
}
public int getDataCount() {
return dataCount;
}
public void setDataCount(int dataCount) {
this.dataCount = dataCount;
}
public int getPageItem() {
return pageItem;
}
public void setPageItem(int pageItem) {
this.pageItem = pageItem;
}
public int getPageRow() {
return pageRow;
}
public void setPageRow(int pageRow) {
this.pageRow = pageRow;
}
}
写一个分页类,再写一个方法传入当前页数
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-01
展开全部
可以用这个pager-taglib-2.0.war做
很简单样式也多
很简单样式也多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询