資源描述:
《[java編程]statement詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、接口定義 ---Wrapper所有已知子接口 CallableStatement,PreparedStatement說(shuō)明 用于執(zhí)行靜態(tài)SQL語(yǔ)句并返回它所生成結(jié)果的對(duì)象?! ≡谀J(rèn)情況下,同一時(shí)間每個(gè)?Statement?對(duì)象在只能打開(kāi)一個(gè)ResultSet對(duì)象。因此,如果讀取一個(gè)ResultSet對(duì)象與讀取另一個(gè)交叉,則這兩個(gè)對(duì)象必須是由不同的?Statement?對(duì)象生成的。如果存在某個(gè)語(yǔ)句的打開(kāi)的當(dāng)前ResultSet對(duì)象,則?Statement?接口中的所有執(zhí)行方法都會(huì)隱式關(guān)閉它?! tatement?對(duì)象用于將SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)中。實(shí)際上有三種?Statement?
2、對(duì)象,它們都作為在給定連接上執(zhí)行SQL語(yǔ)句的包容器:Statement、PreparedStatement(它從?Statement?繼承而來(lái))和CallableStatement(它從PreparedStatement繼承而來(lái))。它們都專(zhuān)用于發(fā)送特定類(lèi)型的SQL語(yǔ)句:Statement?對(duì)象用于執(zhí)行不帶參數(shù)的簡(jiǎn)單SQL語(yǔ)句;PreparedStatement對(duì)象用于執(zhí)行帶或不帶IN參數(shù)的預(yù)編譯SQL語(yǔ)句;CallableStatement對(duì)象用于執(zhí)行對(duì)數(shù)據(jù)庫(kù)已存儲(chǔ)過(guò)程的調(diào)用。 Statement?接口提供了執(zhí)行語(yǔ)句和獲取結(jié)果的基本方法。PreparedStatement接口添加了處理
3、IN參數(shù)的方法;而CallableStatement添加了處理OUT參數(shù)的方法?! ∮行〥BMS將已存儲(chǔ)過(guò)程中的每條語(yǔ)句視為獨(dú)立的語(yǔ)句;而另外一些則將整個(gè)過(guò)程視為一個(gè)復(fù)合語(yǔ)句。在啟用自動(dòng)提交時(shí),這種差別就變得非常重要,因?yàn)樗绊懯裁磿r(shí)候調(diào)用commit方法。在前一種情況中,每條語(yǔ)句單獨(dú)提交;在后一種情況中,所有語(yǔ)句同時(shí)提交。字段摘要 staticint??????CLOSE_ALL_RESULTS 該常量指示調(diào)用getMoreResults時(shí)應(yīng)該關(guān)閉以前一直打開(kāi)的所有ResultSet對(duì)象。 staticint??????CLOSE_CURRENT_RESULT 該常量指示調(diào)用g
4、etMoreResults時(shí)應(yīng)該關(guān)閉當(dāng)前ResultSet對(duì)象。 staticint??????EXECUTE_FAILED 該常量指示在執(zhí)行批量語(yǔ)句時(shí)發(fā)生錯(cuò)誤。 staticint??????KEEP_CURRENT_RESULT 該常量指示調(diào)用getMoreResults時(shí)應(yīng)該關(guān)閉當(dāng)前ResultSet對(duì)象。 staticint??????NO_GENERATED_KEYS 該常量指示生成的鍵應(yīng)該不可用于獲取?! taticint??????RETURN_GENERATED_KEYS 該常量指示生成的鍵應(yīng)該可用于獲取?! taticint??????SUCCESS_
5、NO_INFO 該常量指示批量語(yǔ)句執(zhí)行成功但不存在受影響的可用行數(shù)計(jì)數(shù)。方法摘要 void??????addBatch(Stringsql) 將給定的SQL命令添加到此?Statement?對(duì)象的當(dāng)前命令列表中?! oid??????cancel() 如果DBMS和驅(qū)動(dòng)程序都支持中止SQL語(yǔ)句,則取消此?Statement?對(duì)象?! oid??????clearBatch() 清空此?Statement?對(duì)象的當(dāng)前SQL命令列表?! oid??????clearWarnings() 清除在此?Statement?對(duì)象上報(bào)告的所有警告?! oid??????close(
6、) 立即釋放此?Statement?對(duì)象的數(shù)據(jù)庫(kù)和JDBC資源,而不是等待該對(duì)象自動(dòng)關(guān)閉時(shí)發(fā)生此操作?! oolean??????execute(Stringsql) 執(zhí)行給定的SQL語(yǔ)句,該語(yǔ)句可能返回多個(gè)結(jié)果?! oolean??????execute(Stringsql,intautoGeneratedKeys) 執(zhí)行給定的SQL語(yǔ)句(該語(yǔ)句可能返回多個(gè)結(jié)果),并通知驅(qū)動(dòng)程序所有自動(dòng)生成的鍵都應(yīng)該可用于獲取?! oolean??????execute(Stringsql,int[]columnIndexes) 執(zhí)行給定的SQL語(yǔ)句(該語(yǔ)句可能返回多個(gè)結(jié)果),并通知驅(qū)動(dòng)
7、程序在給定數(shù)組中指示的自動(dòng)生成的鍵應(yīng)該可用于獲取?! oolean??????execute(Stringsql,String[]columnNames) 執(zhí)行給定的SQL語(yǔ)句(該語(yǔ)句可能返回多個(gè)結(jié)果),并通知驅(qū)動(dòng)程序在給定數(shù)組中指示的自動(dòng)生成的鍵應(yīng)該可用于獲取。 int[]??????executeBatch() 將一批命令提交給數(shù)據(jù)庫(kù)來(lái)執(zhí)行,如果全部命令執(zhí)行成功,則返回更新計(jì)數(shù)組成的數(shù)組?! esultSet?????