`

java通用分页代码:从存储过程到JSP页面(转的)

阅读更多
java通用分页代码


SQL存储过程代码:
CREATE proc page
(
@table_name varchar(100),--表名
@count int,--每页显示好多行
@page int,--当前页数
@table_id varchar(100),--表的主键
@sqlWhere varchar(1000),--过滤条件
@sqlOrder varchar(1000),--排序条件
@sumCount int output--返回参数,返回总页数
)
as
declare @sqlScript nvarchar(4000)
select @sumCount = 0
if @sqlWhere is not null and @sqlWhere <> ''
begin
select @sqlScript = 'select @sumCount=count(*) from '+@table_name + ' where ' + @sqlWhere
end
else
begin
select @sqlScript = 'select @sumCount=count(*) from '+@table_name
end

execute sp_executesql @sqlScript,N'@sumCount int output',@sumCount output--得到总行数
--select @sumCount
if @sumCount%@count<>0
select @sumCount = @sumCount / @count + 1--得到总页数
else
select @sumCount = @sumCount / @count
select @page = @page * @count--过滤的行数

select @sqlScript = 'select top '+cast(@count as varchar)+' * from ' + @table_name
+ ' where ' + @table_id + ' not in (select top ' + cast(@page as varchar) + ' ' +@table_id+ ' from '+@table_name+' '+case when @sqlWhere is not null and @sqlWhere<>'' then ' where ' +@sqlWhere else '' end+isnull(@sqlOrder,'')+' ) ' + case when @sqlWhere is not null and @sqlWhere<>'' then ' and ' + @sqlWhere else '' end+isnull(@sqlOrder,'')

exec(@sqlScript)
GO

调用存储过程方法:

//获得某城市下,满足贡献度需求的迷宫任务列表
public ArrayList getMiGongRenWuList(String table_name,int count,int page,String table_id,String sqlWhere,int []out_print){
   ArrayList migong_list = new ArrayList();
   Connection con = null;
 
   try {
    con = dbMain.getConnection();
    con.setAutoCommit(false);
    CallableStatement cstm = con.prepareCall( "{call page(?,?,?,?,?,?,?)}");
    cstm.setString(1,table_name);
    cstm.setInt(2,count);
    cstm.setInt(3,page);
    cstm.setString(4,table_id);
    cstm.setString(5,sqlWhere);
    cstm.setString(6,"");
    cstm.registerOutParameter(7,Types.INTEGER);
  
    ResultSet rs = cstm.executeQuery();
  
    while(rs.next()){
     migong_list.add(City_MiGongDAO.assembleCity_MiGong(rs));
    }
    out_print[0] = Integer.parseInt(cstm.getObject(7).toString());
    con.commit();
    con.close();
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   } catch (SQLException e) {
    try {
     con.rollback();
     con.close();
    } catch (SQLException e1) {
     e1.printStackTrace();
    }
    e.printStackTrace();
   }
   return migong_list;
}

SEVLET调用该方法:

int []out_page = {0};

ArrayList city_renwu_list = RenWu_MiGongDao.getMiGongRenWuList(table_name,16,page,table_id,sqlWhere,out_page);

JSP页面:

<%if(request.getParameter("page")==null||(Integer.parseInt(request.getParameter("page").toString()) - 1)<0){%>上一页<%}else{%><a href="<%=path%>/servlet/game/qiantai/migong/ShowMiGong?search_condition=<%= search_condition %>&radio_search=<%= radio_search %>&page=<%=request.getParameter("page")==null?(0 + 1):(Integer.parseInt(request.getParameter("page").toString()) - 1)%>">上一页</a><%}%>

<%if(sumPageCount>(request.getParameter("page")==null?(0 + 1):(Integer.parseInt(request.getParameter("page").toString()) + 1))){%><a href="<%=path%>/servlet/game/qiantai/migong/ShowMiGong?search_condition=<%= search_condition %>&radio_search=<%= radio_search %>&page=<%=request.getParameter("page")==null?(0 + 1):(Integer.parseInt(request.getParameter("page").toString()) + 1)%>">下一页</a><%}else{%>下一页<%}%>

0
0
分享到:
评论

相关推荐

    java 通用数字分页

    Java中的数字分页是Web应用...5. **编写分页JSP**:在JSP页面中,你需要遍历分页模型的数据,并显示在页面上。同时,也要生成分页链接,让用户能够跳转到其他页。这些链接可以通过EL表达式和JSTL标签库实现。 ```jsp ...

    java web项目分页通用实现

    总结,Java Web项目中的分页通用实现涉及到数据库查询、参数传递、前后端交互等多个环节。通过封装分页组件,我们可以将这些复杂逻辑模块化,便于在不同的项目中复用,从而提升开发质量和效率。这个DEMO正是为了帮助...

    jsp通用分页

    【jsp通用分页】是指在Java Web开发中,利用JSP技术实现数据库查询结果的分页展示。在处理大量数据时,为了提高用户体验和减轻服务器压力,通常会采用分页的方式来展示数据。JDBC(Java Database Connectivity)作为...

    hibernate通用分页

    因此,创建一个通用的分页辅助类(如`Pagehelp.java`和`Page(hibernate通用分页).java`)是非常必要的。 `Pagehelp.java`可能包含一个静态方法,接受Hibernate的Session对象、查询条件、每页大小和当前页数作为参数...

    jsp 分页示例源码

    初学者可以从中学到JSP与数据库的交互、分页逻辑的实现以及如何在页面上呈现结果。 **六、进阶话题** 在实际应用中,为了优化性能,我们还可以考虑缓存技术、存储过程、分页组件(如PageHelper)的使用,以及在前端...

    JSP通用分页框架

    在Java Web开发中,JSP(JavaServer Pages)常常用于创建动态网页,而分页是大型Web应用中不可或缺的功能,它帮助用户更好地浏览大量...这样的通用分页框架大大提高了开发效率,减少了重复代码,同时也易于维护和扩展。

    通用分页js

    ### 通用分页JS知识点详解 #### 一、概述 在Web开发中,分页是一项常见且重要的功能,尤其在处理大量数据时更是必不可少。本文将深入解析一个名为“通用分页JS”的脚本,该脚本适用于JSP环境中,能够帮助开发者...

    通用分页实现及其OO设计探讨(2)

    本话题将深入探讨“通用分页实现及其OO设计”,结合给定的“Paginaction.jsp”文件,我们可以进一步了解在Java Web开发中如何有效地实现分页功能。 首先,我们需要理解分页的基本概念。分页是将大量数据分割成多个...

    JSP通用分页 把数据实行分页

    本主题将探讨如何使用JSP实现通用的数据分页功能,这是一个非常实用的技术,尤其在处理大量数据时,可以提高网页加载速度并优化用户体验。 首先,我们需要理解分页的基本原理。分页是将数据库中的大量数据分成多个...

    通用数据库分页 扩展dbutil (附代码下载)

    2. **通用分页设计**: 一个通用的分页方案应考虑数据库类型、查询条件、排序方式、每页记录数等参数。通常,我们会创建一个分页查询接口,该接口接受页码、每页记录数等参数,返回对应的分页结果。 3. **dbutil...

    分页处理方法,分页处理,分页代码,分页方法

    例如,可以创建一个`&lt;jsp:include&gt;`标签来包含一个包含分页链接的通用模板,然后在每个页面中传递当前页码,实现上一页和下一页的链接。 4. 分页参数的处理: 在实际应用中,还需要考虑其他分页相关的参数,如总...

    jsp分页组件(原创)

    **标题:“jsp分页组件(原创)”,描述与标签** 在IT行业中,分页是网页应用中的常见功能...通过阅读源码,不仅可以学习分页技术,还能了解到Java Web开发的相关知识,如Servlet、JSP、数据库操作以及MVC模式的应用等。

    jsp分页所需架包.rar

    - **通用分页库**:例如,MyBatis的PageHelper、Spring Data JPA的Pageable接口等,它们提供了更高级的分页支持,自动处理分页参数,简化开发过程。 - **开源项目**:"分页所需架包"可能包含这些库的JAR文件,如...

    JSP通用高大上分页代码(超管用)

    本篇将详细讲解如何实现一个通用且实用的JSP分页代码,以及如何处理在多条件查询下保持分页链接的参数。 首先,我们看到一个名为`PageBean`的类,它用于封装分页所需的信息。这个类包含以下几个属性: 1. `pc`:...

    一个简单的通用分页工具条

    总之,“一个简单的通用分页工具条”提供了一种实用的方法,用以实现客户端的分页效果,它结合了Java集合、EL表达式和JSTL标签库,使得在Web应用中实现分页变得简单易行。开发者可以根据这个基础,根据实际项目需求...

    目前最好的分页技术 JSP

    ### 目前最好的分页技术:JSP #### 前言 在处理数据库查询时,经常需要使用分页功能来提高数据展示的效率及用户体验。然而,标准的JDBC并未提供良好的分页机制,因此开发者们需要寻找或创造其他方式来实现这一功能...

    Servlet+JSP分页的一个例子

    - 分页组件:考虑到复用性,可以编写一个通用的分页Servlet或过滤器,通过配置参数,适应不同的数据源和分页需求。 - UI样式:分页链接可以设计成各种样式,比如按钮、下拉框等,以提升用户体验。 综上所述,...

    JSP 查询 分页

    在Web开发领域,JSP(JavaServer Pages)是一种常见的技术,用于创建动态、交互式的网页。JSP查询分页是Web应用中一个重要的功能,它允许用户以分块的形式查看大量数据,而不是一次性加载所有记录,这提高了用户体验...

    JSP+JavaBean分页实现方案

    本文将详细介绍如何使用JSP(JavaServer Pages)和JavaBean来实现一个通用的分页功能,适合任何数据库系统。 首先,我们需要理解JSP和JavaBean的基本概念。JSP是一种动态网页技术,它允许我们在HTML页面中嵌入Java...

Global site tag (gtag.js) - Google Analytics