成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

J2EE調(diào)用存儲(chǔ)過程

開發(fā) 后端
本文講述了J2EE調(diào)用存儲(chǔ)過程。首先講解存儲(chǔ)過程的分類,然后提供了幾個(gè)范例以供Java學(xué)習(xí)者參考。

1.存儲(chǔ)過程分類

分為"系統(tǒng)級(jí)存儲(chǔ)過程"和"用戶級(jí)存儲(chǔ)過程"
用戶級(jí)存儲(chǔ)過程分為有參數(shù)的和無參數(shù)的
而有參數(shù)的又分為:
1)有輸入?yún)?shù)無輸出參數(shù)
2)有輸出參數(shù)無輸入?yún)?shù)
3)有輸入又有輸出參數(shù)

2.JAVA調(diào)用存儲(chǔ)(J2EE調(diào)用存儲(chǔ))過程例子

1)在SqlServer里創(chuàng)建存儲(chǔ)過程,代碼如下:

  1. alter proc proc_productName   //proc_productName存儲(chǔ)過程名  
  2. @productName varchar(50)      //輸入?yún)?shù)  
  3. as  
  4. select productID,productName from Products where productName like @productName;  
  5.  
  6. exec proc_productName @productName = '%f%'  //測(cè)試存儲(chǔ)過程寫的是否正確  

1)創(chuàng)建連接池

2)假如我們用DBCP來調(diào)用連接池,代碼如下:

  1.    public static void getname(String parname) {  
  2. BasicDataSource bds=new BasicDataSource();  
  3. bds.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
  4. bds.setUrl("jdbc:sqlserver://localhost:1433;databaseName=NorthWind");  
  5. bds.setUsername("sa");  
  6. bds.setPassword("");  
  7.  
  8. String sql="{call proc_productName(?) }";  //call 存儲(chǔ)過程名 輸入?yún)?shù)  
  9.  
  10. ResultSet rs=null;  
  11. Connection conn=null;  
  12.  
  13. CallableStatement cs=null;  //相對(duì)于pstmt    
  14. try {  
  15.  conn=bds.getConnection();     
  16.  cs=conn.prepareCall(sql);  
  17.  cs.setString(1,"%f%");     //給Sql存儲(chǔ)過程輸入?yún)?shù)賦值  
  18.  rs=cs.executeQuery();  
  19.  while(rs.next()){  
  20.   System.out.println(rs.getString("productName"));  
  21.  }  
  22. catch (SQLException e) {  
  23.  e.printStackTrace();  
  24. }finally{  
  25.  try {  
  26.   rs.close();  
  27.   cs.close();  
  28.   conn.close();  
  29.  } catch (SQLException e) {  
  30.   // TODO Auto-generated catch block  
  31.   e.printStackTrace();  
  32.  }  
  33.    
  34. }   
  35. }  

3.Java調(diào)用存儲(chǔ)過程

重點(diǎn)語句截取,其它參照上面例題

1)調(diào)用無參數(shù)的存儲(chǔ)過程

  1. sql="{call proc_viewProduct}";  
  2.  
  3. CallableStatement cstmt=conn.prepareCall(sql);  
  4. ResultSet rs=cstmt.executeQuery();  
  5. while(rs.next)  
  6.  System.out.println(rs.getString("productName"));  

2)有輸入?yún)?shù)

  1. sql="{call proc_FindByProducts(?)}";  
  2. sctmt.setString(1,"%f%"); 

3)即有輸入又有輸出

  1.   BasicDataSource basicDataSource = new BasicDataSource();  
  2. basicDataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
  3. basicDataSource.setUrl("jdbc:sqlserver://localhost:1433;DatabaseName=Northwind");  
  4. basicDataSource.setUsername("sa");  
  5. basicDataSource.setPassword("qaz123");  
  6. String sql = "{call proc_ViewProduct}";  
  7. sql = "{call proc_FindByProductNameFromProduct(?)}";  //輸入?yún)?shù)  
  8. sql = "{call proc_FindProductNameOutPut(?,?)}";       //輸出參數(shù)  
  9. //sql = "{call fyproduct(?,?)}";  
  10. try {  
  11.  Connection conn = basicDataSource.getConnection();  
  12.  CallableStatement cstmt = conn.prepareCall(sql);  
  13.  //cstmt.setInt(1,2);  
  14.  cstmt.setString(1,"'%f%'");    
  15.  cstmt.registerOutParameter(2,java.sql.Types.INTEGER);    
  16.  ResultSet rs = cstmt.executeQuery();  
  17.  while(rs.next()){  
  18.   System.out.println(rs.getString("productName"));  
  19.  }  
  20.  System.out.println(cstmt.getInt(2));  
  21.  rs.close();  
  22.  cstmt.close();  
  23.  conn.close();  
  24. catch (SQLException e) {  
  25.  // TODO Auto-generated catch block  
  26.  e.printStackTrace();  
  27. }  

J2EE調(diào)用存儲(chǔ)過程就介紹到這里。

【編輯推薦】

  1. J2EE體系架構(gòu)設(shè)計(jì)介紹(2)
  2. J2EE體系架構(gòu)設(shè)計(jì)介紹(1)
  3. 基于開源搜索引擎的架構(gòu)設(shè)計(jì)和J2EE實(shí)現(xiàn)(二)
  4. 對(duì)J2EE開發(fā)中常用的開源項(xiàng)目介紹
  5. J2EE體系架構(gòu)設(shè)計(jì)介紹(3)
責(zé)任編輯:book05 來源: csdn
相關(guān)推薦

2009-06-22 11:04:00

Jdbc存儲(chǔ)過程

2009-06-22 17:34:40

J2EE架構(gòu)

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計(jì)模式

2009-06-10 16:25:43

J2EE架構(gòu)架構(gòu)

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護(hù)

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-23 16:48:26

J2EE常見問題J2EE平臺(tái)

2009-06-22 17:05:41

Java EEJava企業(yè)應(yīng)用

2009-06-18 16:13:14

J2EE開發(fā)

2009-06-22 16:21:02

J2EE線程

2009-06-22 11:15:00

J2EE應(yīng)用測(cè)試

2009-06-18 15:54:57

J2EE下使用JNDI

2019-01-08 16:26:43

Java EEJ2EEJakarta EE

2009-06-23 16:50:24

2009-06-23 16:52:55

J2EE縮寫名詞

2009-06-10 13:30:32

J2EE四層模型客戶層Web層

2009-06-25 13:22:00

J2EE常用Jar包

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2009-06-19 17:03:44

J2EE學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩精品免费在线 | 久久精品亚洲欧美日韩精品中文字幕 | 岛国毛片 | 亚洲精品一区二区三区蜜桃久 | 先锋资源站 | 91免费小视频 | 91视频在线观看 | 精品久久久久久久久久 | 日韩激情在线 | 日本成人午夜影院 | 久久精品国产a三级三级三级 | 人人爽日日躁夜夜躁尤物 | 亚洲高清视频一区二区 | 中文字幕一区二区在线观看 | 日韩第一页 | 中文字幕一区二区三区日韩精品 | 亚洲成人www | 久久综合狠狠综合久久综合88 | av中文字幕在线 | 一区在线播放 | 日韩欧美在线视频播放 | 91av在线影院 | 久久久久久久久久久蜜桃 | 91在线精品视频 | 国产一二区在线 | 女同久久另类99精品国产 | 99热这里都是精品 | 91 久久 | 日韩成人免费 | 国产欧美视频一区二区 | 午夜合集 | 亚洲午夜视频 | 一区二区三区精品视频 | 日韩一区二区三区在线 | 91视频在线网站 | 亚洲成人自拍 | 99re6在线视频精品免费 | 嫩草研究影院 | 免费a级毛片在线播放 | 九九热精品视频 | 一区|