欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:8933254       资源大小:33.25KB        全文页数:34页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    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


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开