- 浏览: 239133 次
- 性别:
- 来自: 西安
-
文章分类
最新评论
-
qwe2252099:
给力!简单易懂
两个java web服务间SoapMessage对象的传递 -
mimang2007110:
不是自带的,自己编辑过的
java代码模板 -
墨子宇:
貌似不是带有箭头的
CSS带箭头的导航菜单 -
墨子宇:
借鉴一下。不是自带的那个吧
java代码模板 -
墨子宇:
看名字应该是注释模板吧
myeclipse编码模板
1、 sybase的分页存储过程,这个是从网上搜的 CREATE PROCEDURE GetDataByPage ( --创建一个分页读取过程 @SqlStr varchar(8000), --SQL语句 @PageSize int, --每页记录数 @CurrentPage int --当前页数 ) AS DECLARE @FirstRec int, @LastRec int, @dt varchar(10) --页起始行,页结束行,生成临时表的随机数 BEGIN SELECT @FirstRec = (@CurrentPage - 1) * @PageSize --计算页起始行 SELECT @LastRec = (@CurrentPage * @PageSize + 1) --计算页结束行 SELECT @dt= substring(convert(varchar,rand()),3,10) --一个字符型的随机数 --将搜索结果放入临时表中,表名随机生成,在' FROM '前插入'INTO '+随机临时表名 SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ',upper(@SqlStr)), 6 ,' INTO tempdb..Paging'+@dt+' FROM ') EXECUTE (@SqlStr) --为临时表增加id号 SELECT @SqlStr = 'ALTER TABLE tempdb..Paging'+@dt+' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY' EXECUTE (@SqlStr) --计算临时表中的记录数 --SELECT @SqlStr = 'SELECT Count(*) From tempdb..Paging'+@dt --EXECUTE (@SqlStr) --选取记录号在起始行和结束行中间的记录 SELECT @SqlStr = 'SELECT * FROM tempdb..Paging' + @dt + ' WHERE TEMPDB_ID > ' + convert(varchar,@FirstRec) + ' and TEMPDB_ID < '+convert(varchar,@LastRec) EXECUTE (@SqlStr) --删除临时表 SELECT @SqlStr = 'DROP TABLE tempdb..Paging'+@dt EXECUTE (@SqlStr) END 直接在命令行执行即可。 2、action类, public ActionForward perform(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { SelectForm selectForm = (SelectForm)form; String start1 = request.getParameter("start"); String maxValue1 = request.getParameter("limit"); int start = 0; int maxValue = 0; int totalCount = 0; if (validateNumber(start1)) { start = new Double(start1).intValue(); } else { start = 1; } if (validateNumber(maxValue1)) { maxValue = new Double(maxValue1).intValue(); } else { maxValue = 10; } StringBuffer sql = new StringBuffer(); sql.append("select a.EMP_ID,a.NAME,a.ID_CARD,a.START_ORG_ID from tb_employee a,tb_organization b where a.START_ORG_ID = b.ORG_ID "); Connection c = null; PreparedStatement ps = null; ResultSet res = null; list = new ArrayList(); //java调用存储过程代码,GetDataByPage是存储过程名称,有三个参数, CallableStatement cs = c.prepareCall("{call GetDataByPage(?,?,?)}",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); cs.setString(1,sql.toString());//查询的sql语句 cs.setInt(2,maxValue); //每页显示的数量 cs.setInt(3,start); //页数 res = cs.executeQuery();//获得存储过程返回的结果集 //遍历结果集,存储在集合中 while(res.next()){ SelectForm select = new SelectForm(); select.setEmpId(res.getInt(1)); select.setName(res.getString(2)); select.setIdCard(res.getString(3)); select.setStartOrgId(res.getInt(4)); list.add(select); } } catch(Exception e){ e.printStackTrace(); }finally{ try { // 关闭 res.close(); ps.close(); } catch (Exception e) { e.printStackTrace(); } } //调用分页工厂类 PageFactory.makeNavigator(mapping, request, start, maxValue, totalCount, true); request.setAttribute("list", list); return mapping.findForward("success"); } 3、分页工厂类,可以不做任何修改直接用, //////////////////////////////////////////////////////////////// // COPYRIGHT (C) 2009 KOAL INTERNATIONAL INFORMATION CORPORATION // // ALL RIGHTS RESERVED BY KOAL INTERNATIONAL INFORMATION // CORPORATION, THIS PROGRAM MUST BE USED SOLELY FOR THE // PURPOSE FOR WHICH IT WAS FURNISHED BY KII CORPORATION , // NO PART OF THIS PROGRAM MAY BE REPRODUCED OR DISCLOSED // TO OTHERS, IN ANY FORM WITHOUT THE PRIOR WRITTEN // PERMISSION OF KII CORPORATION.USE OF COPYRIGHT NOTICE // DOES NOT EVIDENCE PUBLICATION OF THE PROGRAM // //KOAL INTERNATIONAL INFORMATION CONFIDENTIAL AND PROPROETARY ///////////////////////////////////////////////////////////////// package com.koal.ra.view; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionMapping; /** * Page.java * * @CopyRight KOAL Co. Lmt 2009 * @author zhengxd * @Since * @version * @Date: 2009-8-30 */ public class PageFactory { private static final String SHOW_NAVIGATOR = "showNavigator"; private static final String TOTAL_RECORDS = "totalRecords"; private static final String LAST_PAGE = "lastPage"; private static final String NEXT_PAGE = "nextPage"; private static final String PRE_PAGE = "prePage"; private static final String FIRST_PAGE = "firstPage"; private static final String TOTAL_PAGES = "totalPages"; private static final String CURRENT_PAGE = "currentPage"; private static final String BASIC_URL = "basicURL"; //娌℃湁鍒嗛〉鍙傛暟鐨刄RL銆? private static final String PAGE_NO = "pageNo"; private static final String URL_PATTERN = ".do"; public static void makeNavigator(ActionMapping mapping,HttpServletRequest request,int start,int maxValue,int totalCount, boolean showflag){ if(null == mapping || request == null){ return; } String basicUrl = mapping.getPath(); request.setAttribute(TOTAL_RECORDS, String.valueOf(totalCount)); request.setAttribute("start", String.valueOf(start)); int currentPage = start; request.setAttribute(CURRENT_PAGE, String.valueOf(currentPage)); int totalPages = totalCount/maxValue; if(0 != totalCount%maxValue){ totalPages = totalPages + 1; } if(0 == totalPages){ totalPages = totalPages + 1; } request.setAttribute(TOTAL_PAGES, String.valueOf(totalPages)); if(currentPage > 1){ request.setAttribute(FIRST_PAGE, CreateURL(basicUrl,0,maxValue)); request.setAttribute(PRE_PAGE, CreateURL(basicUrl,start-maxValue,maxValue)); } if(totalPages > start){ request.setAttribute(NEXT_PAGE, CreateURL(basicUrl,start+maxValue,maxValue)); request.setAttribute(LAST_PAGE, CreateURL(basicUrl,(totalPages-1)*maxValue,maxValue)); } if(showflag) request.setAttribute(SHOW_NAVIGATOR, "true"); } /** * @param path * @param start * @param maxValue * @return */ private static String CreateURL(String path, int start, int maxValue) { String url = path + "?start=" + start + "&limit=" + maxValue; return url; } } 4,page.jsp 分页的jsp页面,在跳转时,调用主页面的action <%--该页面是pager2的分页导航条页面。需要使用导航条的页面使用include包含本页面。 --%> <%--包含本页面之前应该使用《% String actionName="xxxx"; %》,其中的xxxx为点击导航条链接时跳转的页面 --> <%--xxx使用的路径为跟context无关路径 --%> <%--hef --%> <%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <script language="javascript" type="text/javascript"> function firstPage(){ document.form.start.value = 1; document.form.submit(); } function prePage(){ document.form.start.value = parseInt(document.form.start.value) - 1; document.form.submit(); } function nextPage(){ document.form.start.value = parseInt(document.form.start.value) + 1; document.form.submit(); } function lastPage(){ document.form.start.value = (document.form.totlePage.value); document.form.submit(); } function prCheck(){ if(!/^\d*$/.test(document.form.pageNo.value)) { alert('只能输入大于零的整数'); return false;} if (parseInt(document.form.pageNo.value)<1){ alert('请输入大于零的整数'); return false;} if(document.form.pageNo.value > document.form.totlePage.value){ alert('输入的值不能大于总页数'); return false; } document.form.start.value = (document.form.pageNo.value); document.form.submit(); } </script> <% String contextPath = request.getContextPath(); String pageNo = String.valueOf(request.getAttribute("totalPages")); String start = String.valueOf(request.getAttribute("start")); if("null".equals(start)) start="0"; %> <logic:present name="showNavigator"> <table border="0" cellpadding="0" cellspacing="0" > <input type="hidden" name="start" value="<%=start %>"/> <input type="hidden" name="totlePage" value="<%=pageNo %>"/> <tr> <td > <logic:present name="firstPage"> <a href="javascript:firstPage();"><div class="page-first">首页</a> </logic:present> <logic:notPresent name="firstPage"> <div class="page-first-disable"></div> </logic:notPresent> <logic:present name="prePage"> <a href="javascript:prePage();">上一页</div></a> </logic:present> <logic:notPresent name="prePage"> <div class="page-prev-disabled"></div> </logic:notPresent> <div class="grid-blue-split"></div> </td> <td> <div class="page-input">第 <input class="input-page-text" type="text" name="pageNo" size="2" value="<bean:write name='currentPage'/>"> 页, <a href="#" onclick="javascript:prCheck();">跳转</a>,共<bean:write name='totalPages'/>页 </div> <div class="grid-blue-split"></div> </td> <td> <logic:present name="nextPage"> <a href="javascript:nextPage();">下一页 </div></a> </logic:present> <logic:notPresent name="nextPage"> <div class="page-next-disabled"></div> </logic:notPresent> </td> <td > <logic:present name="lastPage"> <a href="javascript:lastPage();">最后一页</div></a> </logic:present> <logic:notPresent name="lastPage"> <div class="page-last-disabled"></div> </logic:notPresent> </td> <td> <div class="grid-blue-split"></div> <div class="page-refresh"></div> <div class="grid-blue-split"></div> <div>共<bean:write name="totalRecords"/>条记录</div> </td> </tr> </table> </logic:present> 5 业务jsp页面, 在业务jsp页面 在适当的位置插入<jsp:include page="../common/page.jsp" /> 即可 ,../common/page.jsp 是你分页jsp的位置 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/applezhengxd/archive/2009/09/02/4509779.aspx
发表评论
-
HttpClient各种使用方法
2014-08-27 15:25 1470最近项目中用到了模拟HTTP请求的部分,下面做了一个小整合 ... -
java中BCD编码
2014-08-09 11:20 3498Java中实现的BCD编码,供有兴趣的参考,欢迎批评指正 ... -
Android数据库操作的两种方式
2014-07-10 16:56 1017Android操作数据库分文两种方式,一种是自己写sql脚本 ... -
Apache Ftp Server与spring框架融合
2014-04-01 16:33 6662最近在写一个项目,需要用到FTP服务,就从网上搜了一下,发现 ... -
Apache Ftp Server使用说明
2014-04-01 15:45 697最近公司项目需要一个FTP服务器,就从网上搜了一下发现Apac ... -
编程从业 5 年后的 14 条经验
2013-04-20 14:57 8371. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把 ... -
Spring自己的轻量级定时器的两种实现方式
2013-03-04 19:35 1215Spring自己本身的轻量级 ... -
Java获取当前路径
2013-03-04 12:17 8491、利用System.getProperty()函数获取当 ... -
java udp通信
2012-12-12 11:39 1210java服务器部分: public static vo ... -
java 实现ftp的文件上传和删除
2012-12-01 11:49 17459package com.tw.ftp; impor ... -
java操作FTP,实现文件上传下载删除操作
2012-12-01 11:07 17015上传文件到FTP服务器: ... -
java下载文件的四种方式
2012-11-30 15:30 1024try { ... -
模拟HTTPClient发送消息到服务器
2012-07-16 14:36 1029// 存储服务器的响应消息 Stri ... -
两个java web服务间SoapMessage对象的传递
2012-07-14 15:51 1987客户端代码: try { ... -
字符串转换成SoapMessage对象
2012-07-14 15:40 4344下面的代码可以把字符串转换成SoapMessage对象 ... -
SoapMessage对象转换成字符串
2012-07-14 15:36 6413下面的代码可以把一个SoapMessage对象转换成字符串对象 ... -
手动修改和启动在spring配置文件中配置的定时器
2012-07-12 20:50 21381、创建业务处理类 public class Task ... -
手动利用spring提供的quartz创建定时器
2012-07-12 20:41 3032手动创建并启动定时器方法: /** * & ... -
spring定时器的创建和配置
2012-07-12 20:38 68741、创建业务处理类 public class Palp ... -
spring管理日志的例子
2012-05-07 15:32 826Spring 带给我们的另一个好处就是让我们可以“专心做 ...
相关推荐
### Sybase 中实现分页技术的存储过程 #### 背景介绍 Sybase 是一款高性能的关系型数据库管理系统,广泛应用于金融、电信等对数据处理性能有极高要求的领域。在实际的应用场景中,常常需要从数据库中获取大量的数据...
总之,Sybase数据库支持通过存储过程调用外部Java程序,提供了一种灵活的方式来实现数据库中的复杂计算和任务调度。正确配置数据库环境,导入Java类,创建适当的SQL包装器,是实现这一功能的关键步骤。理解JNI调用...
在这个毕业设计项目中,我们主要探讨的是如何使用Java语言调用Oracle数据库的存储过程来实现分页功能,这在Web应用程序中非常常见,尤其是在处理大数据量时,为了提高用户体验,分页是一种有效的数据展示方式。...
本篇文章将深入探讨如何使用Java与MySQL数据库进行交互,实现调用存储过程,并提供一个测试通过的实例。 首先,理解存储过程是数据库管理系统提供的一种预编译的SQL语句集合,它封装了特定的功能,可以提高执行效率...
ibatis调用oracle存储过程分页
本文介绍了Java调用Oracle存储过程返回结果集Record和Cursor的相关知识点,包括创建Type、PACKAGE和PROCEDURE,Java代码中调用存储过程,并获取结果集。这些知识点对深入了解Oracle存储过程和Java调用Oracle存储过程...
3. **调用存储过程**:使用`CallableStatement`对象来执行存储过程。对于带参数的存储过程,需要设置参数并执行`executeProcedure()`。 ```java String procedureName = "{call findAllBook(?) }"; // 例如,调用...
本篇文章将深入探讨如何在Oracle中通过调用存储过程实现分页功能。 首先,我们需要创建一个存储过程,这个过程将接收两个参数:起始记录编号(一般为当前页数乘以每页显示的记录数)和每页的记录数。存储过程内部会...
总之,调用存储过程是Java开发中处理数据库操作的重要环节。理解如何设置`IN`和`OUT`参数,并正确地执行和获取结果,将有助于提高代码的效率和可维护性。希望这个详细讲解对你有所帮助,如果你在实践中遇到任何问题...
调用Oracle函数的过程与调用存储过程类似,但创建CallableStatement时的SQL语句略有不同。由于函数会返回一个值,所以格式通常是`{? = call function_name(?, ?, ...)}`。在执行后,通过`CallableStatement....
在Oracle中,调用存储过程通常以`BEGIN`和`END`包围,使用`CALL`关键字。例如: ```java String callProc = "{call package_name.procedure_name(?, ?)}"; PreparedStatement pstmt = connection.prepareCall...
在ASP.NET中,我们可以使用`SqlCommand`对象来调用存储过程。首先,建立数据库连接,然后创建`SqlCommand`对象,设置其命令类型为`StoredProcedure`,并指定存储过程名称。接下来,添加参数,包括输入和输出参数。...
本文将详细介绍如何利用存储过程实现ASP.NET中的分页功能。 首先,我们需要理解存储过程的概念。存储过程是预编译的SQL语句集合,存储在数据库中,可以通过名称调用执行。它们可以提高性能,减少网络流量,并提供更...
然后,创建数据库连接,并通过CallableStatement来调用存储过程。以下是一个简单的示例: ```java Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:...
java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps
3. **调用存储过程**:通过`CallableStatement`的`execute`或`executeQuery`方法执行存储过程。 4. **处理输出参数和结果集**:如果存储过程有输出参数或返回结果集,使用`getXXX`方法获取它们。 假设我们有一个名...
PagingOperation数据库SQLServer2008分页存储过程(和java调用存储过程源代码): 调用存储过程进行分页查询速度快,尤其是数据量超过50万条的表非常重要,此代码是我们项目中使用的,实际使用情况稳定,也希望大家...
下面将详细介绍如何使用Java调用存储过程。 1. **创建CallableStatement对象** 首先,我们需要创建一个`CallableStatement`实例,这可以通过`Connection`对象的`prepareCall`方法完成。存储过程的调用格式通常以`...
4. Java 调用存储过程 在 Java 应用程序中,可以使用 JDBC(Java Database Connectivity)来调用 SQL Server 数据库中的存储过程。在本例中,使用了 `java.sql` 包中的 `CallableStatement` 对象来调用 `InsertUser...
- **queryProcedure**方法:该方法是核心处理方法,用于调用存储过程,并获取结果集。 - 参数列表: - `List list`:包含要传递给存储过程的参数值列表。 - `String strStoredProcedureName`:存储过程的名称。 ...