天天看点

数据量你造吗-JAVA分页Written In The FontContent第二种:大数据量,采取DAO层分页操作(普遍性需求)

学习的心态第一,解行要相应。其实《弟子规》在“余力学文”当中,一开头就强调了这一个重点。“不力行,但学文,长浮华,成何人”,这个没有侥幸的,只要学了不去做,无形当中就会增长傲慢,自己不知道。-<弟子规>

    java-web 基础那块,我自己也准备.搞哪里,优化哪里然后带给大家终结.谢谢

    分页虽易,好却难.数据量,怎么办?

    分页(paging),就像个切面.能把这个切面好好的放进去也是种nice方式.

第一种:小数据量分页实现 (可广泛用于 门户型 网页快速开发等)

    这种比较简单,这边我们模拟实现.

    字段结构:

                   private int pagesize; //每页有多少条

                   private int rowcount; //总行数  

                   private int pagecount;//总页数

                   private int currentpage; //当前页码

    流程结构:               

数据量你造吗-JAVA分页Written In The FontContent第二种:大数据量,采取DAO层分页操作(普遍性需求)

     核心:

            list.sublist(index,

(currentpage < pagecount) ? (index + pagesize) :

rowcount);将小数据量集合,根据分页参数返回指定的list部分.这样,如果数据小的话,这样很方便的实现了分页功能.下面是jdk

api里面对方法的解释:

<code>sublist(int fromindex, int toindex)</code>

          返回列表中指定的 fromindex(包括 )和 toindex(不包括)之间的部分视图。

分页工具类:

run,你会看到 outputs:

环境:

        spring mvc (spring-4.0.0.release.jar)

        hibernate     (hibernate-core-4.3.5.final.jar)

        mysql           

两个核心工具类-分页

分页对象,包含所需要的所有参数及逻辑.

分页初始化(包括参数变化)

#这里我们用request.getparameter(page_num_str) 获取分页操作时改变的字段.这样不必要每次都在controller上附带参数了.

页面端:

然后到controller层:

调用service层:

调用dao层:

实现的效果图:

数据量你造吗-JAVA分页Written In The FontContent第二种:大数据量,采取DAO层分页操作(普遍性需求)

#这样分页就简简单单实现了.