如何高效率读取数据库并分页显示

如何高效率读取数据库并分页显示,第1张

首页,分页跟取出数据是完全不同的 *** 作。分页,你只知道执行 SELECT COUNT(*) AS n FORM tablename即可知道表中有多少数据,然后计算分多少页。显示数据是 SELECT * FROM tablename WHERE 查询条件 LIMIT 开始数, 读取数据量如此即可

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

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

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

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

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

一种是利用相反的。

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

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

处理方式:

一:首先sql语句,使用not in的方式处理,

在dao类里写一个方法

public List<>getAllByPage(int pageSize,pageNum){

......

String sql="select top"+pageSize +" * from 表名x where 字段A not in (select top "+pageSize*(pageNum-1)+" 字段A from 表名x)"

.......

rerun list

}

其中,pageSize是页面要显示的条数,pageNum是要显示的页码,sql语句是固定的,返回一个list对象。

二:在Biz里写一个方法,调用Dao里的getAllByPage方法,传入两个参数,返回list结果集。

三:在jsp页面以url传参的方式进行页面处理和数据的显示。

使用request对象获取传入的值,进行强制类型转作为参数,传入到Biz业务类的方法中处理,返回list结果集,使用表达式的方式在页面中进行显示。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存