要做个留言板,但是不会分页,哪个高手教下,我是新手,最好写全点,什么数据库和JSP的代码我都要哈,谢谢,不要太复杂,太复杂我都看不懂了哈
解决方案 »
- 如何提高二级联动的效率
- java post 访问s2sh的网站,为什么接收不到post的参数?action中get,set方法都有。
- 在WEB客户端直接打印JasperReport报表
- tomcat6.0 自动启报错
- JSP获取单选按钮值后的判断...诚心请教!~
- 菜鸟问题:请问各位高手,这组classe文件这样可以被引用吗?
- 我的服务器是linux的我用了CharDirector包画图面 可是在linux下中文的文字死活无法显示请问是什么问题???重谢
- wap页面嵌入问题
- JPA执行存储过程需要在方法上注明@Transactional吗
- 请问如何把从数据库得到的值,赋值给链接中的变量
- javamail访问hotmail邮箱的问题
- 谁能帮改下这验证码
问2次啊
button用JS控制
public class PageBean{
private List pageList;//该页的内容集合
private int totalNum;//内容的总数量
private int pages; //页数
private int currentPage; //当前页
public List getPageList() {
return pageList;
}
public void setPageList(List pageList) {
this.pageList = pageList;
}
public int getTotalNum() {
return totalNum;
}
public void setTotalNum(int totalNum) {
this.totalNum = totalNum;
}
public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
}
public class DAO(){
//分页查询的方法返回pagebean
public PageBean findFriendsByPage(int page) {
// TODO Auto-generated method stub
PageBean pb=new PageBean();
List pageList=null;
int number = 0;
if (page > 1) {
number = PAGE_NUM * (page - 1);
} //每页显示5个
String sql="select top 5 * from message where messageID not in (select top "+number+" messageID from message)";
try {
conn = ConnectionManager.getCon();
pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery();
while (rs.next()) {
Message message = new Message();
message.setMessageID(rs.getInt("messageID"));
message.setTitle(rs.getString("title"));
message.setContent(rs.getString("content"));
message.setWriter(rs.getString("writer"));
message.setWriteDate(rs.getString("writeDate"));
message.setCount(rs.getInt("count")); list.add(message);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionManager.closeAll(conn, pstmt, rs);
}
pb.setCurrentPage(page);//当前页
pb.setPageList(list);//该页的集合!
int total=findFriendsCount();//查询总数量
pb.setTotalNum(total);
//总页数
int pages=total%PageBean.showNum==0?total/PageBean.showNum:total/PageBean.showNum+1;
pb.setPages(pages);
return pb;
}
//查找总数量
public int findFriendsCount(){
String sql="select count(*) from message";
int result=0;
try {
conn = ConnectionManager.getCon();
pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery();
while (rs.next()) {
result=rs.getInt(1);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionManager.closeAll(conn, pstmt, rs);
} return result;
}
}你在页面上调用DAO里面的方法直接在脚本里面遍历出来!
上一页,下一页的时候,注意对当前页page+1,或page-1
CREATE PROCEDURE `pagination`(in tablename varchar(100), in columnname varchar(200), in wherename varchar(400) ,in start int ,in size int)
beginif(wherename<>null|| wherename<>'') thenset @sql=concat('select ',columnname ,' from ',tablename,' where ',wherename,' limit ',start,' , ' ,size);set @sql1=concat('select count(1) from ',tablename ,' where ',wherename );elseset @sql=concat('select ',columnname ,' from ',tablename,' limit ',start,' , ' ,size);set @sql1=concat('select count(1) from ',tablename);end if;prepare stmt1 from @sql1;execute stmt1;prepare stmt from @sql;execute stmt;end;