如何实现Oracle数据库的分页显示?

如何实现Oracle数据库的分页显示?,第1张

1.使用T_BASE_PROVINCE表作为测试演示使用

2.查询下总共数据量select count(*) from T_BASE_PROVINCE,在分页的时候,一般会显示总页数,需要先查询总数据量得到总页数,总页数=总量/每页显示记录数。

3.前面的测试数据初始化完成之后,查询前20条大概有什么样的数据。

4.含order by排序,多一层嵌套,因为order by在select之后执行,不在里面写的话可能会出现不是预期的排序结果。

如以上回答未能解决问题请看:

一种是利用相反的。

使用minus,即中文的意思就是减去。

一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名],可以看到,是从1到当前的记录总数。    

在获取完所有的list后只需要截取你所需要的一部分list就可以了,所以要知道你所需要的是从哪里开始,到哪里结束。

有很多种方法,如果只是JSP里的话可以再次遍历获取的所有list集合,然后把满足条件的截取出来,开始的list下标应该是:(你要查询的页数-1)*页面要显示的数据条数,也就是你这里的(page-1)*pageRows,结束的地方也就是page*pageRows-1了。//这样应该可以写出来了吧

建议把这个方法封装到一个类里面,一个方法就实现一种功能。

当然这是比较麻烦的,现在流行框架,以后会学到的,在hibernate框架里用query语句很容易就实现了,现在时间多,

多看看hibernate框架吧,推荐你一本书,hibernate

in

action,有中文版的。这个是你们以后入门了hibernate后看的。

public

List

listOrderByItem(int

pageRows,int

page)

{

//page是要显示的页数,pageRows是你要显示的行数

Session

session

=

this.getSession()//获取hibernate的session,hibernate自动生成的DAO里包含

String

hql

=

"from

TBL_storage

as

tbl_s

order

by

item"//hql语句

Query

query

=

session.createQuery(hql)//hibernate的query,通过session创建

query.setFirstResult((page-1)*pageRows)//设置开始的下标

query.setMaxResults(pageRows)//设置每页显示的行数

return

query.list()//得到所需要的结果集

}

tableau实现分页查看数据:

1,利用超市数据,放入想要查看的维度和度量,写入序号,index();

2,创建一个参数,动态选择每一页的行数;

3,创建计算字段,分页,总页数,见3-1:

4,方法肯定不只此一种,欢迎留言分享好的方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6665187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存