ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:33.25KB ,
资源ID:8933254      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8933254.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java调用Oracle存储过程方式汇总.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

java调用Oracle存储过程方式汇总.docx

1、java调用Oracle存储过程方式汇总spring调用Oracle存储过程,并用cursor返回结果集1. 创建表: Java代码 1. createtableTEST_USERS 2. ( 3. USER_IDVARCHAR2(10)notnull, 4. NAMEVARCHAR2(10)notnull, 5. PASSWORDVARCHAR2(20)notnull 6. )create table TEST_USERS ( USER_ID VARCHAR2(10) not null, NAME VARCHAR2(10) not null, PASSWORD VARCHAR2(20) no

2、t null )2. 创建存储过程: Java代码 1. createorreplacepackagedisplay_users_packageis 2. typesearch_resultsisrefcursor; 3. proceduredisplay_users_proc(results_outoutsearch_results,userIdintest_users.user_id%type); 4. enddisplay_users_package; 5. 6. createorreplacepackagebodydisplay_users_packageis 7. procedure

3、display_users_proc(results_outoutsearch_results,userIdintest_users.user_id%type) 8. is 9. begin 10. ifuserIdisnotnullthen 11. openresults_outforselect*fromtest_userswhereuser_idlikeuserId|%; 12. else 13. openresults_outforselect*fromtest_users; 14. endif; 15. enddisplay_users_proc; 16. enddisplay_us

4、ers_package;create or replace package display_users_package is type search_results is ref cursor; procedure display_users_proc(results_out out search_results, userId in test_users.user_id%type); end display_users_package; create or replace package body display_users_package is procedure display_user

5、s_proc(results_out out search_results, userId in test_users.user_id%type) is begin if userId is not null then open results_out for select * from test_users where user_id like userId | %; else open results_out for select * from test_users; end if; end display_users_proc; end display_users_package;这个r

6、esults_out是一个游标类型,用来返回查找的结果集。 3.完整实现代码: Java代码 1. importjava.sql.CallableStatement; 2. importjava.sql.Connection; 3. importjava.sql.ResultSet; 4. importjava.sql.SQLException; 5. importjava.util.ArrayList; 6. importjava.util.HashMap; 7. importjava.util.List; 8. importjava.util.Map; 9. 10. importjavax

7、.sql.DataSource; 11. 12. importoracle.jdbc.OracleTypes; 13. 14. importorg.springframework.dao.DataAccessException; 15. importorg.springframework.jdbc.core.CallableStatementCallback; 16. importorg.springframework.jdbc.core.CallableStatementCreator; 17. importorg.springframework.jdbc.core.JdbcTemplate

8、; 18. 19. importcom.spring.stored.procedure.util.DataContextUtil; 20. 21. /* 22. *authorJaneJiao 23. * 24. */25. publicclassSpringStoredProce 26. 27. publicListexecute(StringstoredProc,Stringparams) 28. ListresultList=null; 29. try 30. finalDataSourceds=DataContextUtil.getInstance().getDataSource();

9、 31. finalJdbcTemplatetemplate=newJdbcTemplate(ds); 32. resultList=(List)template.execute(newProcCallableStatementCreator(storedProc,params), 33. newProcCallableStatementCallback(); 34. catch(DataAccessExceptione) 35. thrownewRuntimeException(executemethoderror:DataAccessException+e.getMessage(); 36

10、. 37. returnresultList; 38. 39. 40. 41. /* 42. *Createacallablestatementinthisconnection. 43. */44. privateclassProcCallableStatementCreatorimplementsCallableStatementCreator 45. privateStringstoredProc; 46. privateStringparams; 47. 48. 49. /* 50. *Constructsacallablestatement. 51. *paramstoredProcT

11、hestoredproceduresname. 52. *paramparamsInputparameters. 53. *paramoutResultCountcountofoutputresultset. 54. */55. publicProcCallableStatementCreator(StringstoredProc,Stringparams) 56. this.params=params; 57. this.storedProc=storedProc; 58. 59. 60. /* 61. *Returnsacallablestatement 62. *paramconnCon

12、nectiontousetocreatestatement 63. *returncsAcallablestatement 64. */65. publicCallableStatementcreateCallableStatement(Connectionconn) 66. StringBufferstoredProcName=newStringBuffer(call); 67. storedProcName.append(storedProc+(); 68. /setoutputparameters 69. storedProcName.append(?); 70. storedProcN

13、ame.append(,); 71. 72. /setinputparameters 73. storedProcName.append(?); 74. storedProcName.append(); 75. 76. CallableStatementcs=null; 77. try 78. /setthefirstparameterisOracleTyep.CURSORfororacelstoredprocedure 79. cs=conn.prepareCall(storedProcName.toString(); 80. cs.registerOutParameter(1,Oracle

14、Types.CURSOR); 81. /setthesencondparamter 82. cs.setObject(2,params); 83. catch(SQLExceptione) 84. thrownewRuntimeException(createCallableStatementmethodError:SQLException+e.getMessage(); 85. 86. returncs; 87. 88. 89. 90. 91. /* 92. * 93. *TheProcCallableStatementCallbackreturnaresultobject, 94. *fo

15、rexampleacollectionofdomainobjects. 95. * 96. */97. privateclassProcCallableStatementCallbackimplementsCallableStatementCallback 98. 99. /* 100. *ConstructsaProcCallableStatementCallback. 101. */102. publicProcCallableStatementCallback() 103. 104. 105. /* 106. *ReturnsaList(Map)collection. 107. *par

16、amcsobjectthatcancreateaCallableStatementgivenaConnection 108. *returnresultsListaresultobjectreturnedbytheaction,ornull 109. */110. publicObjectdoInCallableStatement(CallableStatementcs) 111. ListresultsMap=newArrayList(); 112. try 113. cs.execute(); 114. ResultSetrs=(ResultSet)cs.getObject(1); 115

17、. while(rs.next() 116. MaprowMap=newHashMap(); 117. rowMap.put(userId,rs.getString(USER_ID); 118. rowMap.put(name,rs.getString(NAME); 119. rowMap.put(password,rs.getString(PASSWORD); 120. resultsMap.add(rowMap); 121. 122. rs.close(); 123. catch(SQLExceptione) 124. thrownewRuntimeException(doInCallab

18、leStatementmethoderror:SQLException+e.getMessage(); 125. 126. returnresultsMap; 127. 128. 129. import java.sql.CallableStatement;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.uti

19、l.Map;import javax.sql.DataSource;import oracle.jdbc.OracleTypes;import org.springframework.dao.DataAccessException;import org.springframework.jdbc.core.CallableStatementCallback;import org.springframework.jdbc.core.CallableStatementCreator;import org.springframework.jdbc.core.JdbcTemplate;import co

20、m.spring.stored.procedure.util.DataContextUtil;/* * author Jane Jiao * */public class SpringStoredProce public List execute(String storedProc, String params) List resultList = null; try final DataSource ds = DataContextUtil.getInstance().getDataSource(); final JdbcTemplate template = new JdbcTemplat

21、e(ds); resultList = (List)template.execute(new ProcCallableStatementCreator(storedProc, params), new ProcCallableStatementCallback(); catch(DataAccessException e) throw new RuntimeException(execute method error : DataAccessException + e.getMessage(); return resultList; /* * Create a callable stateme

22、nt in this connection. */ private class ProcCallableStatementCreator implements CallableStatementCreator private String storedProc; private String params; /* * Constructs a callable statement. * param storedProc The stored procedures name. * param params Input parameters. * param outResultCount coun

23、t of output result set. */ public ProcCallableStatementCreator(String storedProc, String params) this.params = params; this.storedProc = storedProc; /* * Returns a callable statement * param conn Connection to use to create statement * return cs A callable statement */ public CallableStatement creat

24、eCallableStatement(Connection conn) StringBuffer storedProcName = new StringBuffer(call ); storedProcName.append(storedProc + (); /set output parameters storedProcName.append(?); storedProcName.append(, ); /set input parameters storedProcName.append(?); storedProcName.append(); CallableStatement cs = null; try / set the first parameter is OracleTyep.CURSOR for

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2