不要hibernate的内置分页 求高手给个完整后台代码 谢谢各位高手帮助了
解决方案 »
- 【求助】JACOB对于组件函数输出参数的处理
- 关于如何更改logic:iterate遍历出来的值
- spring aop事务为什么不回滚呢?
- Syntax error on token "package",invalid VariableDeclaratorId
- telnet localhost可以 127.0.0.1 就不行?
- JDBC数据库连接究竟怎么写才合理?
- 高分求教:如何在weblogic8上配置JSF?
- 在struts页面上往文本框里输入值,然后提交,当再打开页面时文本框里有刚才输入的值,这怎么解决,应该是空的才对
- 能提供OFBIZ方面的材料吗!!
- jbuild6.0中用Tomcat作WEB服务器,为什么表单提交后会出现乱码?
- 这个矩阵让我很纠结
- 再问个nio高级问题,nio如何处理域名解析
类似
pageSize 查询记录数
curPage 当前页数
tableName 表名
id 主键字段
select top pageSize * from tableName where id not in (select top (pageSize*(curPage-1)) id from tableName)
* 执行Oracle分页
* 在页面中引用<%@include file="page.jsp" %>即可
* @param sql
* 传入的sql语句
* @param request
* 传入的request
*@param pagesize
*传入分页大小如默认10条每页
* @return
* 返回数据集List结果,每条记录以Map存储(key,value)key为数据库表中字段名,均小写
*/
public List getOraclePageList(String sql, HttpServletRequest request, int pagesize) {
Page page = new Page();
if (pagesize!=-1)
page.setPagesize(pagesize);
page.setRscount(executeCount(sql));
page.execute(request);//生成分页工具条pagetool
String newsql = "Select * from (Select t.*,rownum rn from (" + sql
+ " ) t where " + "rownum <= " + page.getPagesize() + "*" + page.getCurrentpage()
+ ")" + " t where t.rn >=(" + page.getCurrentpage() + "-1)* " + page.getPagesize()
+ "+1";
List list = executeQuery(newsql);
return list;
}
起始行是11,取的记录数是10条
这是mysql的分页
楼上的楼上的楼上,rownum是oracle的关键字吧,别的数据库不支持
mysql是用limit关键字,sqlserver是用的top关键字
q.setFirstResult(startrow);
q.setMaxResult(pagesize);
q.list();你不防试试1000万数据时,使用select * from table limit startrow,pagesize
看看会是什么情况
/**
* @分页查找宠物新闻
* @param page 查找第几页
* @param size 每页多少条记录
* @return
*/
public List<News> getNewsByPageAndSize(int page, int size) {
List ns = new ArrayList();
String sql = "select * from news order by date desc limit ?,? ";
List ps = new ArrayList();
ps.add((page-1)*size);
ps.add(size);
ResultSet rs = dao.getResultSet(sql, ps);
try {
while (rs.next()) {
News n = new News();
n.setId(rs.getInt("id"));
n.setContents("contents");
n.setDate(rs.getDate("date"));
n.setTitle(rs.getString("title"));
ns.add(n);
}
} catch (SQLException e) {
e.printStackTrace();
}
return ns;
}
多了个order 失误!