- 浏览: 237331 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
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 1445最近项目中用到了模拟HTTP请求的部分,下面做了一个小整合 ... -
java中BCD编码
2014-08-09 11:20 3462Java中实现的BCD编码,供有兴趣的参考,欢迎批评指正 ... -
Android数据库操作的两种方式
2014-07-10 16:56 1004Android操作数据库分文两种方式,一种是自己写sql脚本 ... -
Apache Ftp Server与spring框架融合
2014-04-01 16:33 6644最近在写一个项目,需要用到FTP服务,就从网上搜了一下,发现 ... -
Apache Ftp Server使用说明
2014-04-01 15:45 677最近公司项目需要一个FTP服务器,就从网上搜了一下发现Apac ... -
编程从业 5 年后的 14 条经验
2013-04-20 14:57 8251. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把 ... -
Spring自己的轻量级定时器的两种实现方式
2013-03-04 19:35 1200Spring自己本身的轻量级 ... -
Java获取当前路径
2013-03-04 12:17 8401、利用System.getProperty()函数获取当 ... -
java udp通信
2012-12-12 11:39 1200java服务器部分: public static vo ... -
java 实现ftp的文件上传和删除
2012-12-01 11:49 17435package com.tw.ftp; impor ... -
java操作FTP,实现文件上传下载删除操作
2012-12-01 11:07 16991上传文件到FTP服务器: ... -
java下载文件的四种方式
2012-11-30 15:30 998try { ... -
模拟HTTPClient发送消息到服务器
2012-07-16 14:36 1018// 存储服务器的响应消息 Stri ... -
两个java web服务间SoapMessage对象的传递
2012-07-14 15:51 1975客户端代码: try { ... -
字符串转换成SoapMessage对象
2012-07-14 15:40 4321下面的代码可以把字符串转换成SoapMessage对象 ... -
SoapMessage对象转换成字符串
2012-07-14 15:36 6402下面的代码可以把一个SoapMessage对象转换成字符串对象 ... -
手动修改和启动在spring配置文件中配置的定时器
2012-07-12 20:50 21241、创建业务处理类 public class Task ... -
手动利用spring提供的quartz创建定时器
2012-07-12 20:41 3019手动创建并启动定时器方法: /** * & ... -
spring定时器的创建和配置
2012-07-12 20:38 68621、创建业务处理类 public class Palp ... -
spring管理日志的例子
2012-05-07 15:32 813Spring 带给我们的另一个好处就是让我们可以“专心做 ...
相关推荐
总之,Sybase数据库支持通过存储过程调用外部Java程序,提供了一种灵活的方式来实现数据库中的复杂计算和任务调度。正确配置数据库环境,导入Java类,创建适当的SQL包装器,是实现这一功能的关键步骤。理解JNI调用...
在这个毕业设计项目中,我们主要探讨的是如何使用Java语言调用Oracle数据库的存储过程来实现分页功能,这在Web应用程序中非常常见,尤其是在处理大数据量时,为了提高用户体验,分页是一种有效的数据展示方式。...
3. **调用存储过程**:使用`CallableStatement`对象来执行存储过程。对于带参数的存储过程,需要设置参数并执行`executeProcedure()`。 ```java String procedureName = "{call findAllBook(?) }"; // 例如,调用...
本文介绍了Java调用Oracle存储过程返回结果集Record和Cursor的相关知识点,包括创建Type、PACKAGE和PROCEDURE,Java代码中调用存储过程,并获取结果集。这些知识点对深入了解Oracle存储过程和Java调用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...
二、 Java 调用存储过程 要在 Java 中调用存储过程,需要使用 JDBC 连接 DB2 数据库。首先,需要加载 DB2 驱动程序: ```java String JDBCDriver = "com.ibm.db2.jcc.DB2Driver"; ``` 然后,使用 DriverManager ...
以下是调用存储过程的基本步骤: 1. **加载驱动**:首先需要在Java程序中加载MySQL的JDBC驱动,这通常通过`Class.forName()`方法实现,例如: ```java Class.forName("com.mysql.cj.jdbc.Driver"); ``` 2. **...
使用 `prepareCall` 方法准备调用存储过程 `selemp_sal`,并通过 `registerOutParameter` 注册输出参数类型为 `NUMERIC`。执行后,通过 `getInt` 方法获取输出参数的值。 ### 总结 本文详细介绍了如何在 Java 中...
在ASP.NET中,我们可以使用`SqlCommand`对象来调用存储过程。首先,建立数据库连接,然后创建`SqlCommand`对象,设置其命令类型为`StoredProcedure`,并指定存储过程名称。接下来,添加参数,包括输入和输出参数。...
在IT领域,特别是数据库操作与Java编程的...Java调用存储过程是实现高效数据库交互的关键技术。通过正确设置参数、执行存储过程并管理资源,可以在Java应用中充分利用存储过程的功能,从而提高应用的性能和可维护性。
java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps
3. **调用存储过程**:通过`CallableStatement`的`execute`或`executeQuery`方法执行存储过程。 4. **处理输出参数和结果集**:如果存储过程有输出参数或返回结果集,使用`getXXX`方法获取它们。 假设我们有一个名...
下面将详细介绍如何使用Java调用存储过程。 1. **创建CallableStatement对象** 首先,我们需要创建一个`CallableStatement`实例,这可以通过`Connection`对象的`prepareCall`方法完成。存储过程的调用格式通常以`...
4. Java 调用存储过程 在 Java 应用程序中,可以使用 JDBC(Java Database Connectivity)来调用 SQL Server 数据库中的存储过程。在本例中,使用了 `java.sql` 包中的 `CallableStatement` 对象来调用 `InsertUser...
这里,我们使用了pymysql的cursor.callproc方法来调用存储过程,并获取返回的结果。`cursor.lastrowid`用来获取存储过程返回的最后一个值,即总行数。 总结来说,MySQL的分页存储过程提供了一种高效、可复用的方式...
- **queryProcedure**方法:该方法是核心处理方法,用于调用存储过程,并获取结果集。 - 参数列表: - `List list`:包含要传递给存储过程的参数值列表。 - `String strStoredProcedureName`:存储过程的名称。 ...
Java作为主流的企业级开发语言之一,在与Oracle数据库交互时调用存储过程是一种常见的需求。 #### 二、背景知识 1. **Java Database Connectivity (JDBC):** JDBC 是 Java 应用程序与关系型数据库通信的标准接口。...
本话题主要关注如何利用Java调用WPS(金山办公软件)来实现Word到PDF的转换以及Word到图片的转换。这些功能对于处理大量文档和报告的企业尤其有用,可以自动化工作流程,减少手动操作。 首先,让我们了解WPS。WPS ...