`

数据库分页三种形式

阅读更多

java项目中数据库分页有以下三种常见形式:

    1.结合数据库产品自身特点的sql语句,优点效率最高,缺点兼容性差,更换数据库产品,所有sql语句需要重新写

    以salserver为例适用于 SQL Server 2005
SELECT TOP 页大小 *
FROM
        (
        SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
        ) A
WHERE RowNumber > 页大小*(页数-1)

页大小:每页的行数;页数:第几页。使用时,请把“页大小”和“页大小*(页数-1)”替换成数字。

    2、使用数据库游标分页,优点适合所有数据库,缺点不适合大数据量查询

       page第几页,pagesize页大小

        public List<AdminDTO> findAll(int page,
            int pageSize) throws SQLException {

        List<AdminDTO> list = new ArrayList<AdminDTO>();

        //ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。
        //ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变
        PreparedStatement ps = con.prepareStatement("select ad.id,ad.adminName,ad.adminPass,ad.roleId,r.rolerName from adminInfo ad,roler r where ad.roleId=r.roleId",
                ResultSet.TYPE_SCROLL_INSENSITIVE,
                ResultSet.CONCUR_READ_ONLY);
        ResultSet rs = ps.executeQuery();

        int position = (page - 1) * pageSize;
        rs.absolute(position);

        int count = 0;

        while (rs.next() && count < pageSize) {
            count++;
            AdminDTO dto = new AdminDTO();
            dto.setId(rs.getInt("id"));
            dto.setAdminName(rs.getString("adminName"));
            dto.setAdminPass(rs.getString("adminPass"));
            dto.setRoleId(rs.getInt("roleId"));
            dto.setRolerName(rs.getString("rolerName"));
            list.add(dto);
        }
        return list;
    }

 

3、使用缓存,一次性从数据库查询出所有记录,存放到缓存里面,然后用list集合划分,优点简单,缺点占用系统内存,影响系统性能,故一般没人使用

0
14
分享到:
评论

相关推荐

    ACCESS数据库分页显示.rar

    "ACCESS数据库分页显示"这个主题涉及到了如何有效地处理大量数据,使其在用户界面上以分页的形式进行显示,这样可以提高用户体验并减少系统资源的消耗。 在Access数据库中,分页显示通常涉及到SQL查询和前端用户...

    超强数据库分页,在数据库中进行数据的分页显示

    数据库分页是Web开发中一个重要的技术,它用于在用户界面上展示大量数据时,将结果集分成多个小块(页)以便用户逐页浏览。这样不仅提高了用户体验,避免一次性加载过多数据导致页面响应变慢,还有效地节省了服务器...

    资料种数据库分页技术.pdf

    数据库分页技术是数据库管理系统中用于处理大量数据查询时,以分批次的形式返回结果集的一种策略,这在网页展示或者数据分析中尤其重要。本篇资料主要介绍了在MySQL、SQLServer2000/2005和Oracle这三种主流数据库中...

    MFC数据库分页显示控件

    MFC数据库分页显示控件是MFC框架下的一种实用功能,主要用于处理大量数据时的高效显示。这种控件允许用户以分页的形式查看数据库中的数据,提高用户体验并减轻系统资源负担。 首先,我们要理解MFC如何与数据库交互...

    DataList控件与AspNetPager分页控件三层实现

    接下来,AspNetPager分页控件是一种专门用于分页的控件,它提供了一种简单的方式来实现数据集的分页显示。AspNetPager控件可以轻松地集成到任何数据绑定控件中,如DataList,以实现数据的分页浏览。它支持多种分页...

    JSP连接SQL数据库实现数据分页显示

    在Web开发中,分页是一种常见的技术,用于管理展示给用户的大量数据。通常,数据被分成多个页面,每个页面显示固定数量的数据记录。这种方式能够减少单个页面上的数据量,提高加载速度,使用户更容易浏览和查找所需...

    php分页(含数据库和效果截图)

    压缩包中的“pages”文件可能包含了实际运行分页功能的页面效果截图,可以帮助你直观理解分页的展示形式,如:页码导航、当前页显示等。 总结,PHP分页是一个实用且常见的功能,涉及数据库查询、URL参数处理和HTML...

    JSP分页代码-数据库连接池+JavaBean+JSP+SQL Server+JDBC3.0的数据库分页技术

    public Pagi()//定义构造器,初始化每页显示的主题数和数据库的连接。 { intPageSize=4; //每页显示的记录数目 db = new DB(); } //Countsql:总记录的Query字符串。[形式为select count(*) from tablename] //...

    datalist2种分页样式源码源数据库

    在这个项目中,我们关注的是“datalist2种分页样式源码源数据库”,它提供了两种分页样式:数字分页,模仿了百度和Google的分页效果,并且附带了源代码和源数据库。这个解决方案旨在实现一个无需额外控件的分页功能...

    JSP+DAO和MVC+DAO(基于MySQL数据库分页)

    1. **MVC框架**:MVC是一种流行的设计模式,将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分,分离了业务逻辑、数据处理和用户界面。 2. **Spring MVC**:在Java世界中,Spring MVC是...

    显示分形式分页

    在IT行业中,分页是网页或应用程序中非常常见的一种数据展示方式,特别是在处理大量数据时。"显示分形式分页"通常指的是将大量的记录分成多个小部分,每次只加载一部分到用户界面,以提高用户体验并优化性能。这种...

    page_dilphi数据库分页显示_

    分页原理:利用ID大于多少和SELECT TOP分页语句形式:SELECT TOP 页大小 * FROM 表名 WHERE (ID &gt;(SELECT MAX(id) FROM(SELECT TOP 页大小*页数 id FROM 表名 ORDER BY id) AS T)) ORDER BY id

    mysql_海量数据库的查询优化及分页算法方案.doc

    本文详细介绍了 MySQL 海量数据库的查询优化和分页算法方案,包括查询优化的原理、SARG 的定义和形式、非 SARG 形式的语句、分页算法等。通过这些方法,可以提高 MySQL 海量数据库的查询效率和性能。

    我做的新闻发布(带分页的和数据库)

    在这个系统中,分页功能有两种形式: 1. 数字链接分页:这种方式直观地显示了所有可用的页面,如"12345"。用户可以直接点击数字跳转到相应的页面,适合于总页数较少的情况,用户能快速定位到所需页面。 2. 上一页/...

    易语言源码access分页显示+成语词典.rar

    2. Access数据库分页显示: 在数据库应用中,分页显示是一种常见的用户界面设计,它能帮助用户更有效地浏览大量数据,避免一次性加载所有数据导致的性能问题。在易语言中,可以通过连接Access数据库,使用SQL查询...

    Oracle通用数据库存储过程代码--高效分页存储过程

    ### Oracle通用数据库存储过程代码——高效分页存储过程解析 ...以上存储过程的实现不仅提供了一个高效、灵活的分页查询方案,还通过参数化的形式增强了其可复用性和扩展性,非常适合在Oracle数据库环境中应用。

    Delphi dbgrideh分页实例 带数据库.rar

    Delphi dbgrideh分页实例 带Access数据库,delphi7 关联adoquery实现dbgrid与dbgrideh的分页显示功能,提高多条数据的查询效率。分页原理:利用ID大于多少和SELECT TOP分页。  语句形式:SELECT TOP 页大小 * FROM ...

    qt 实现数据库操作和显示

    视图则负责展示模型中的数据,它可以是表格、列表或任何其他形式的用户界面元素。模型视图架构的优势在于它解耦了数据和显示,使得数据操作和界面更新可以独立进行,从而提高了代码的可复用性和可维护性。 要实现...

    用SQL实现分页的三种方法

    ### 用SQL实现分页的三种方法 在数据库管理中,分页是一项常见的需求,尤其在处理大量数据时,能够有效地提升用户体验并减轻服务器负担。本文将详细介绍如何使用SQL实现分页功能,并针对三种不同的分页策略进行深入...

    VS.NET 2005 Winform应用程序数据库DataGridView分页功能实现

    总的来说,VS.NET 2005 提供了丰富的工具和类库来实现Winform应用程序中的数据库分页功能。通过理解DataGridView控件,掌握ADO.NET的基本用法,以及灵活运用SQL查询,开发者可以创建出高效且用户友好的数据展示界面...

Global site tag (gtag.js) - Google Analytics