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

J2ee Jdbc存儲過程調用

開發 后端
本文總結了J2ee的Jdbc存儲過程調用。Jdbc存儲過程是保存起來的可以接受和返回用戶提供的參數的 Transact-SQL 語句的集合。

首先給大家出個題目,看看有想法沒有,
求二者的關系
男A與女B結婚生了男C
男X與女Y結婚生了女Z
男C與女Z結婚...
這就是人間的結婚生子一代傳一代的關系
(要考慮一人多次結婚的情況)

目的:
設置Table,欄位自定,
寫一SQL函數求出若干年前后的任意兩人之間的關系,假定身份證號碼不重復,當輸入兩身份證后就能得出他們的關系

下面是正文

Jdbc存儲過程是保存起來的可以接受和返回用戶提供的參數的 Transact-SQL 語句的集合。 可以創建一個過程供永久使用,或在一個會話中臨時使用(局部臨時過程),或在所有會話中臨時使用(全局臨時過程)。 也可以創建在 Microsoft® SQL Server™ 啟動時自動運行的存儲過程。 用戶定義函數,它是返回值的已保存的 Transact-SQL 例程。用戶定義函數不能用于執行一組修改全局數據庫狀態的操作。 與系統函數一樣,用戶定義函數可以從查詢中喚醒調用。也可以像存儲過程一樣,通過 EXECUTE 語句執行。 總之: 自定義函數:有且只有一個返回值,就像普通的函數一樣,可以直接在表達式中嵌入調用并可以隨處調用。 存儲過程:可以沒有返回值,也可以有任意個輸出參數,必須單獨調用

存儲過程很好吧,尤其是涉及到多表聯合更新的問題,就效率易用兩個方面來說就都NB的了。既然這么好的東西,你說說在實際的WEB application里面不用豈不是可惜了,話說到咱們的WEB APP中,要是NB的企業一般是不會用什么 structs hibernate spring jsf等等框架,但是不能說這些東西不優秀不好用,相反一些公司的一般項目用這些東西的優點自不必多說。但是現在流行的ssh也不是很好的支持存儲過程,見網上也說hibernate 3.X支持存儲過程,笨人沒有用過,不敢妄加評論,方正2.X不行,有高人說spring支持,查了查看看,里面說到底也是用jdbc,而且還是先要從文件系統里面讀取配置數據源的XML文件,解析出來相應的數據連接,我測試了一下,單次訪問,速度都明顯的需要等待,試想如果訪問量大的話,速度效率自然不敢恭維。既然本身就是用jdbc,為何不直接生成一個專門處理存儲過程的類,里面用jdbc去處理呢。而且就這個方法也有人用,感覺不是很多,笨人測試了一下,速度明顯比那個提取XML文件的方法高,于是在沒有找到更好辦法時間,我決定暫時用這個笨方法:

下面我給出幾個例子,以后好復習學習:

  1. create table bankMoney(  
  2. Id varchar(5) primary key not null,  
  3. userID varchar(20),  
  4. sex varchar(2),  
  5. userMoney int 
  6. )  

這個table 是隨便搞的,意義混亂,不要當真,說明問題就行

第一種情況:沒有輸入返回記錄集

  1. create proc selectNoParam  
  2. as  
  3. select * from bankMoney  
  4. java code:  
  5. Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  
  6.       Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bbs""sa""sa");  
  7.  
  8. CallableStatement cs = con.prepareCall("{call selectNoParam()}");  
  9.       ResultSet rs = cs.executeQuery();  
  10.       while(rs.next()){  
  11.         System.out.println(rs.getString("Id")+" " + rs.getString("userid")+" " + rs.getString("sex")+" " + rs.getString("userMoney"));  
  12. }  

第二種情況:

有輸入參數,沒有輸出參數的例子。這里的delbankMoney(?),一個問號代表一個參數,包括輸入參數和輸出參數,

      //從左到右index從1開始依次增大。一般來說在聲明定義存儲過程時間,后面一般放輸出參數

--刪除相應員工

  1. create proc delbankMoney(@paramId varchar(5))  
  2. as  
  3. delete from bankMoney where Id = @paramIdjava code:  
  4. CallableStatement cs = con.prepareCall("{call delbankMoney(?)}");  
  5.       cs.setString(1"001");  
  6.       cs.execute(); 

第三中情況:一個輸入,一個輸出,后面的問號代表輸出,可以有多個輸出,具體怎么設置要根據你在數據庫中的聲明順序

  1. Proc code:  
  2. create proc testOutPut(@paramId int,@paramSalary int output)  
  3. as  
  4. select @paramSalary = userMoney from bankMoney where Id = @paramId 
  5. java code:  
  6. CallableStatement cs = con.prepareCall("{call testOutPut(?,?)}");  
  7.       cs.setString(1"001");  
  8.       cs.registerOutParameter(2, java.sql.Types.TINYINT);  
  9.       cs.executeUpdate();  
  10.       System.out.println("001號員工工資為:"+cs.getObject(2));  
  11.       cs.close();  
  12.       con.close();  

Jdbc存儲過程調用基本上就是這樣了。

【編輯推薦】

  1. j2ee web service開發(三)SAAJ帶附件的soap消息
  2. j2ee web service開發(二)動態代理與動態調用
  3. J2ee Jdbc 存儲過程調用
  4. j2ee web service開發(五)把ejb發布為web服務
  5. j2ee web service開發(四)soap報頭與處理
責任編輯:book05 來源: csdn
相關推薦

2009-06-23 08:12:48

J2EE調用存儲過程

2009-06-22 17:34:40

J2EE架構

2009-06-23 08:06:46

J2EE體系架構J2EE模型J2EE設計模式

2009-06-10 16:25:43

J2EE架構架構

2009-06-10 14:10:23

J2EE學習J2EE是什么

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-22 17:05:41

Java EEJava企業應用

2009-06-18 16:13:14

J2EE開發

2009-06-22 16:21:02

J2EE線程

2009-06-19 16:38:45

JDBC簡介J2EE

2009-06-22 11:15:00

J2EE應用測試

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-25 13:22:00

J2EE常用Jar包

2009-06-10 13:30:32

J2EE四層模型客戶層Web層

2009-06-08 21:34:09

J2EEJ2SEJ2ME
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久一区二区三区 | 国产97视频在线观看 | 成人性视频在线播放 | 99热首页| 一色一黄视频 | 91国内产香蕉 | 影音先锋久久 | 国产在线网址 | 欧美一区二区三区在线视频 | 波多野结衣一区二区三区在线观看 | 性网站免费 | 操亚洲| 99精品视频在线观看 | av片在线观看网站 | 国产精品久久九九 | 中文字幕1区2区 | 黄色网址免费在线观看 | 伊人无码高清 | 国产一级一片免费播放 | 国产欧美精品一区二区三区 | 国产精品黄色 | 成人国产精品一级毛片视频毛片 | 一区二区免费高清视频 | 91精品国产一区 | 日本超碰| 亚洲精品在线国产 | 欧州一区二区三区 | www.youjizz.com日韩| 亚洲国产高清在线 | 国产精品久久久av | 国产三区精品 | 精品中文字幕一区二区三区 | 鲁一鲁资源影视 | 国产精品区二区三区日本 | 一区二区在线免费观看视频 | 亚洲一区二区三区免费在线观看 | 久久久久综合 | 精品中文视频 | 日韩一区二区在线视频 | 欧美高清免费 | 亚洲精品久久久一区二区三区 |