日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談Java存儲過程調(diào)用

創(chuàng)建需要的測試表:createtableTest(tidvarchar2(10),tnamevarchar2(10));

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、成都做網(wǎng)站、崇州網(wǎng)絡推廣、微信平臺小程序開發(fā)、崇州網(wǎng)絡營銷、崇州企業(yè)策劃、崇州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供崇州建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

第一種情況:無返回值.

 
 
 
  1. createorreplaceproceduretest_a(param1invarchar2,param2invarchar2)as
  2. begin
  3. insertintotestvalue(param1,param2);
  4. end;

Java調(diào)用代碼:

 
 
 
  1. packagecom.test;
  2. importjava.sql.*;
  3. importjava.io.*;
  4. importjava.sql.*;
  5. publicclassTestProcA
  6. {
  7. publicTestProcA(){
  8. }
  9. publicstaticvoidmain(String[]args)
  10. {
  11. ResultSetrs=null;
  12. Connectionconn=null;
  13. CallableStatementproc=null;
  14. try{
  15. Class.forName("oracle.jdbc.driver.OracleDriver");
  16. conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test","test","test");
  17. proc=conn.prepareCall("{calltest_a(?,?)}");
  18. proc.setString(1,"1001");
  19. proc.setString(2,"TestA");
  20. proc.execute();
  21. }catch(Exceptione){
  22. e.printStackTrace();
  23. }finally{
  24. try{
  25. if(null!=rs){
  26. rs.close();
  27. if(null!=proc){
  28. proc.close();
  29. }
  30. if(null!=conn){
  31. conn.close();
  32. }
  33. }
  34. }catch(Exceptionex){
  35. }
  36. }
  37. }
  38. }

第二種情況:有返回值的存儲過程(返回值非列表).

存儲過程為:

 
 
 
  1. createorreplaceproceduretest_b(param1invarchar2,param2outvarchar2)
  2. as
  3. begin
  4. selecttnameintoparam2fromtestwheretid=param1;
  5. end;

Java調(diào)用代碼:

 
 
 
  1. packagecom.test;
  2. importjava.sql.*;
  3. importjava.io.*;
  4. importjava.sql.*;
  5. publicclassTestProcB
  6. {
  7. publicTestProcB(){
  8. }
  9. publicstaticvoidmain(String[]args)
  10. {
  11. Connectionconn=null;
  12. CallableStatementproc=null;
  13. try{
  14. Class.forName("oracle.jdbc.driver.OracleDriver");
  15. conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test","test","test");
  16. proc=conn.prepareCall("{calltest_b(?,?)}");
  17. proc.setString(1,"1001");
  18. proc.registerOutParameter(2,Types.VARCHAR);
  19. proc.execute();
  20. System.out.println("Outputis:"+proc.getString(2));
  21. }catch(Exceptione){
  22. e.printStackTrace();
  23. }finally{
  24. try{
  25. if(null!=proc){
  26. proc.close();
  27. }
  28. if(null!=conn){
  29. conn.close();
  30. }
  31. }catch(Exceptionex){
  32. }
  33. }
  34. }
  35. }

第三種情況:返回列表.

由于oracle存儲過程沒有返回值,它的所有返回值都是通過out參數(shù)來替代的,列表同樣也不例外,但由于是集合,所以不能用一般的參數(shù),必須要用pagkage了.要分兩部分來寫:

 
 
 
  1. createorreplacepackagetpackageas
  2. typet_cursorisrefcursor;
  3. proceduretest_c(c_refoutt_cursor);
  4. end;
  5. createorreplacepackagebodytpackageas
  6. proceduretest_c(c_refoutt_cursor)is
  7. begin
  8. openc_refforselect*fromtest;
  9. endtest_c;
  10. endtpackage;

Java調(diào)用代碼:

 
 
 
  1. packagecom.test;
  2. importjava.sql.*;
  3. importjava.io.*;
  4. importjava.sql.*;
  5. publicclassTestProcB
  6. {
  7. publicTestProcB(){
  8. }
  9. publicstaticvoidmain(String[]args)
  10. {
  11. Connectionconn=null;
  12. CallableStatementproc=null;
  13. ResultSetrs=null;
  14. try{
  15. Class.forName("oracle.jdbc.driver.OracleDriver");
  16. conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test","test","test");
  17. proc=conn.prepareCall("{?=calltpackage.test_b(?)}");
  18. proc.registerOutParameter(1,OracleTypes.CURSOR);
  19. proc.execute();
  20. while(rs.next()){
  21. System.out.println(rs.getObject(1)+"\t"+rs.getObject(2));
  22. }
  23. }catch(Exceptione){
  24. e.printStackTrace();
  25. }finally{
  26. try{
  27. if(null!=rs){
  28. rs.close();
  29. if(null!=proc){
  30. proc.close();
  31. }
  32. if(null!=conn){
  33. conn.close();
  34. }
  35. }
  36. }catch(Exceptionex){
  37. }
  38. }
  39. }
  40. }

Hibernate調(diào)用oracle存儲過程

 
 
 
  1. this.pnumberManager.getHibernateTemplate().execute(
  2.  newHibernateCallback()...{
  3. publicObjectdoInHibernate(Sessionsession)
  4. throwsHibernateException,SQLException...{
  5. CallableStatementcs=session.connection().prepareCall("{callmodifyapppnumber_remain(?)}");
  6. cs.setString(1,foundationid);
  7. cs.execute();
  8. returnnull;
  9.   }
  10.  });

新聞名稱:淺談Java存儲過程調(diào)用
標題來源:http://www.dlmjj.cn/article/djspggj.html