表中数据量比较大,想控制,
每次100条,分100次取出,
请教Java中如何实现啊?!
每次100条,分100次取出,
请教Java中如何实现啊?!
解决方案 »
- 求助:采用C/S架构,实现远程点对多点的文件传输,播放,控制。应该如何做?
- java异常处理传递问题
- HttpURLConnection发post请求问题
- 各位帮忙.HIBERNATE深入欠出第一个例子我竟然搞不定....我发多点分
- Spring出错 Caused by: java.lang.ClassCastException: com.daacc.facade.favorite.FavoriteBus$$EnhancerByCGLIB$$b568cd6e
- Struts2和Spring集成时org.springframework.web.struts.ActionSupport出错
- ENUM枚举用处在哪里?
- 每一天上班
- 关于hibernate1-extensions的问题,用过的进来看看。
- 在myeclipse上导入web项目发布后运行很慢
- Hibernate 中只查询对象中的某几个字段HQL语句该怎样写?
- 要找工作了,大家给指点一下
一般用的mysql:select * from tableName limit start_num,every_page_items
(tableName指你要读取的数据库表名字,start_num查询的初始位置,every_page_items就是你要设置的每次取出的条目数:如第一次得到第1-100条信息时,start_num用0代替、every_page_items用100;第二次得到第101-200条信息时,start_num用100代替、every_page_items用100等等)。
可以使用sql 进行查询,通过rowid ,取从第几条到第几条的记录
如果用的是mysql的话,有个变量limit
select * from table LIMIT start_row,page_num;
start_row表示你从数据库的第几行开始去,page_num表示你一次去的记录数
可以如下编写代码:
你在JSP页面请求中设置参数page=?,即要访问第几页,每页的记录数自己定,
然后让Servlet接收请求参数,调用你查询数据库的那个方法
比如
public List getRecordByPage(int page,int page_num){
//page表示要显示第几页,page_num表示每页显示数目
int start_row = page * page_num;
//现在又了start_row和page_num,编写JDBC代码
}
分页的sql语句搞定就没问题了。
Mysql分页采用limt关键字
Mssql 2000分页采用top关键字(20005以上版本也支持关键字rownum)
oracle 采用rownum关键字
int firstRow = 0;
firstRow = pageSize * (currentPage - 1);//初始化第一行 pageSize =100 currentPage =你查了几次或者(如果你一页100条 这个值就是当前页)query.setFirstResult(firstRow);
query.setMaxResults(pageSize);//一次查多少你的呢等于100
firstRow 根据你现在查到第几行了,