锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
l. 榪炴帴鍒版暟鎹簱鐨勬柟娉?br />絳旓細(xì)1) ODBC(Open Database Connectivity)
聽聽聽聽聽聽 涓涓互C璇█涓哄熀紜璁塊棶SQL涓哄熀紜鏁版嵁搴撳紩鎿庣殑鎺ュ彛錛屽畠鎻愪緵浜嗕竴鑷寸殑鎺ュ彛鐢ㄤ簬鍜屾暟鎹簱娌熼氫互鍙?qiáng)璁块棶鏁版嵁銆?br />聽聽聽 2) JDBC
聽聽聽聽聽聽 Java鐗堟湰鐨凮DBC
2. JDBC搴旂敤緙栫▼鎺ュ彛
絳旓細(xì)JDBC搴旂敤緙栫▼鎺ュ彛鏄細(xì)
聽聽聽 1) 鏍囧噯鐨勬暟鎹闂帴鍙o紝鍙互榪炲埌涓嶅悓鐨勬暟鎹簱;
聽聽聽 2) JAVA緙栫▼璇█鐨勪竴緇勭被鍜屾帴鍙c?br />聽聽聽 JDBC搴旂敤緙栫▼鎺ュ彛鑳藉錛?br />聽聽聽 1) 榪炴帴鍒版暟鎹簱;
聽聽聽 2) 鍙慡QL鏌ヨ瀛楃涓插埌鏁版嵁搴?
聽聽聽 3) 澶勭悊緇撴灉銆?br />聽聽聽 JDBC搴旂敤緙栫▼鎺ュ彛鏈変簩涓富瑕佺殑閮ㄥ垎錛?br />聽聽聽 1) JAVA搴旂敤紼嬪簭寮鍙戞帴鍙i潰鍚慗AVA搴旂敤紼嬪簭寮鍙戣?
聽聽聽 2) JDBC椹卞姩紼嬪簭寮鍙戞帴鍙?br />聽聽聽
3. JDBC Driver
絳旓細(xì)1) 涓澶у爢瀹炵幇浜咼DBC綾誨拰鎺ュ彛鐨勭被;
聽聽聽 2) 鎻愪緵浜嗕竴涓疄鐜癹ava.sql.Driver鎺ュ彛鐨勭被銆?/p>
4. JDBC Driver鐨勫洓縐嶇被鍨?br />絳旓細(xì)1) JDBC-ODBC妗?br />聽聽聽 鐢監(jiān)DBC椹卞姩鎻愪緵JDBC璁塊棶
聽聽聽 2) 鏈湴API
聽聽聽 閮ㄥ垎Java driver鎶奐DBC璋冪敤杞寲鎴愭湰鍦扮殑瀹㈡埛绔疉PI
聽聽聽 3) JDBC-net
聽聽聽 綰殑Java driver錛屽皢JDBC璋冪敤杞叆DBMS錛屼笌緗戠粶鍗忚鏃犲叧銆傜劧鍚庨氳繃鏈嶅姟鍣ㄥ皢璋冪敤杞負(fù)DBMS鍗忚銆?br />聽聽聽 4) 鏈湴鍗忚
聽聽聽 綰殑java driver錛屽皢JDBC璋冪敤鐩存帴杞負(fù)DBMS浣跨敤鐨勭綉緇滃崗璁?/p>
5. JDBC寮鍙戣呮帴鍙?br />絳旓細(xì)1) java.sql--java 2騫沖彴涓婮DBC鐨勪富瑕佸姛鑳斤紝鏍囧噯鐗?J2SE)
聽聽聽 2) javax.sql--java 2騫沖彴涓婮DBC澧炲己鍔熻兘錛屼紒涓氱増(J2EE)
6. 浣跨敤URL紜鏁版嵁搴?br />絳旓細(xì)鎴戜滑浣跨敤URL鏉ョ‘瀹氫竴涓暟鎹簱(姝g‘鐨凞river,姝g‘鐨勪富鏈?姝g‘鐨勫崗璁紝姝g‘鐨勫崗璁紝姝g‘鐨勭敤鎴峰悕鍜屽瘑鐮?;
聽聽聽 璇硶錛歱rotocol:subprotocol:subname
聽聽聽 鑼冧緥錛歫dbc:db2:MyTest
聽聽聽聽聽聽聽聽聽 jdbc:db2://localhost:6789/MyTest
7. javax.sql鍖匤DBC2.0鐨勫寮哄姛鑳?br />絳旓細(xì)1) 鏁版嵁婧愭帴鍙?
聽聽聽 2) 榪炴帴姹?
聽聽聽 3) 鍒嗗竷寮忎氦鏄?
聽聽聽 4) 琛岄泦;
8. 鍒涘緩涓涓熀鏈殑JDBC搴旂敤
絳旓細(xì)1) 姝ラ涓錛氭敞鍐屼竴涓猟river;
聽聽聽 2) 姝ラ浜岋細(xì)寤虹珛涓涓埌鏁版嵁搴撶殑榪炴帴;
聽聽聽 3) 姝ラ涓夛細(xì)鍒涘緩涓涓猻tatement;
聽聽聽 4) 姝ラ鍥涳細(xì)鎵цSQL璇彞;
聽聽聽 5) 姝ラ浜旓細(xì)澶勭悊緇撴灉;
聽聽聽 6) 姝ラ鍏細(xì)鍏抽棴JDBC瀵硅薄
9. 娉ㄥ唽涓涓狣river(姝ラ涓)
絳旓細(xì)1) driver琚敤浜庤繛鎺ュ埌鏁版嵁搴?
聽聽聽 2) JDBC搴旂敤緙栫▼鎺ュ彛浣跨敤絎竴涓兘鎴愬姛榪炴帴鍒扮粰瀹歎RL鐨刣river;
聽聽聽 3) 鍦ㄥ悓涓鏃墮棿鍙互瑁呰澆澶氫釜driver
10.娉ㄥ唽涓涓猟river鐨勬柟娉曪細(xì)
絳旓細(xì)1) 浣跨敤綾籰oader(瑁呰澆;瀹炰緥鍖?娉ㄥ唽鍏riverManager)
聽聽聽聽聽聽 a. Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");
聽聽聽聽聽聽 b. Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
聽聽聽聽聽聽 c. Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);
聽聽聽聽聽聽 d. Class.forName("oracl.jdbc.driver.OracleDriver");
聽聽聽聽聽聽 e. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
聽聽聽 2) 瀹炰緥鍖栦竴涓狣river
聽聽聽聽聽聽 a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();
2004-9-14聽聽聽聽 鏄熸湡浜屄犅犅犅?闃?/p>
1. 寤虹珛涓涓埌鏁版嵁搴撶殑榪炴帴(姝ラ浜?
絳旓細(xì)DriverManager璋冪敤getConnection(urlString)鏂規(guī)硶錛屽疄闄呬笂璋冪敤鐨勬槸driver鐨刢onnect(urlString)鏂規(guī)硶;
聽聽聽 1) 褰撲竴涓猟river鑲畾鍦板搴斿埌涓涓暟鎹簱URL錛孌riverManager寤虹珛涓涓繛鎺?
聽聽聽 2) 褰撴病鏈塪river鍖歸厤錛岃繑鍥瀗ull鐒跺悗涓嬩竴涓猟river琚楠?
聽聽聽 3) 鍋囧娌℃湁寤虹珛榪炴帴錛屾姏鍑轟竴涓猄QLExcepiton寮傚父
2. 緇忓父浣跨敤鐨勪竴浜汮DBC URL
絳旓細(xì)1) JDBC-ODBC: jdbc:odbc:<DB>
聽聽聽 2) Oracle: jdbc:oracle:oci:@<sid> or jdbc:oracle:thin:@<SID>
聽聽聽 3) Weblogic MS-SQL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>
聽聽聽 4) DB2: jdbc:db2:MyTest or jdbc.db2://localhost:6789/MyTest(闇瑕佺敤鎴峰悕鍜屽瘑鐮?
3. Driver榪炴帴鏂規(guī)硶
絳旓細(xì)1) 鍒涘緩涓涓埌鎸囧畾Driver瀹炰緥鐨勭洿鎺ヨ皟鐢?
聽聽聽 2) 閬垮厤涓鑸闂殑闂
聽聽聽聽聽聽 Driver drv = new COM.ibm.db2.jdbc.app.DB2Driver();
聽聽聽聽聽聽 Connection con = null;
聽聽聽聽聽聽 try {con = drv.connect("jdbc:db2:MyTest",new Properties())}
聽聽聽聽聽聽 catch(SQLException e){}
4. 鍒涘緩涓涓猄tatement(姝ラ涓?
絳旓細(xì)1) Statement鐨勪笁涓帴鍙?
聽聽聽聽聽聽 a. Statement;
聽聽聽聽聽聽 b. PreparedStatement(緇ф壙鑷猄tatement);
聽聽聽聽聽聽 c. CallableStatement(緇ф壙鑷狿reparedStatement);
聽聽聽 2) 浣跨敤鏂規(guī)硶Connection.createStatement()寰楀埌涓涓猄tatement瀵硅薄
5. PreparedStatement瀵硅薄
絳旓細(xì)1) 璋冪敤ProparedStatement姣攕tatement鏇翠負(fù)楂樻晥;
聽聽聽 2) 緇ф壙鑷猄tatement;
聽聽聽 3) 璇硶錛歅reparedStatement pstm = connection.prepareStatement(sqlString);
6. CallableStatement瀵硅薄
絳旓細(xì)1) 閫氳繃CallableStatement璋冪敤鏁版嵁搴撲腑鐨勫瓨鍌ㄨ繃紼?
聽聽聽 2) 緇ф壙鑷狿reparedStatement;
聽聽聽 3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");
聽聽聽聽聽聽 cstm.setString(1,"8623034");
聽聽聽聽聽聽 cstm.registerOutparameter(2, Types.REAL);
聽聽聽聽聽聽 cstm.execute();
聽聽聽聽聽聽 float gpa = cstm.getFloat(2);
7. Statement鎺ュ彛鐨勬瘮杈?br />絳旓細(xì)聽聽聽聽聽聽聽聽聽聽聽聽 | Statement聽聽聽聽聽聽聽聽聽聽 | PreparedStatement聽聽聽聽聽聽聽聽 |聽 CallableStatement
聽聽聽 ------------------------------------------------------------------------------
聽聽聽 鍐欎唬鐮佷綅緗犅?|聽聽 瀹㈡埛绔犅犅犅犅犅犅犅犅犅犅?| 瀹㈡埛绔犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|聽 鏈嶅姟鍣ㄧ
聽聽聽 ------------------------------------------------------------------------------
聽聽聽 鍐欎唬鐮佷綅緗犅?|聽聽 瀹㈡埛绔犅犅犅犅犅犅犅犅犅犅?| 鏈嶅姟鍣ㄧ聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽 鏈嶅姟鍣ㄧ
聽聽聽 ------------------------------------------------------------------------------
聽聽聽 緙栧啓浠g爜鎶鏈?|Java錛孲QL鎿嶄綔聽聽聽聽聽聽聽 |Java錛孲QL鎿嶄綔聽聽聽聽聽聽聽聽聽聽聽聽聽 |聽 鏁版嵁搴撶殑紼嬪簭璇█錛屽PL/SQL
聽聽聽 ------------------------------------------------------------------------------
聽聽聽 鍙厤緗犅犅犅?|聽聽 楂樎犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|絎竴嬈¢珮錛屼互鍚庝綆聽聽聽聽聽聽聽聽聽聽 |聽 浣?br />聽聽聽 ------------------------------------------------------------------------------
聽聽聽 鍙Щ妞嶆犅犅犅?|聽聽 楂樎犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|鍋囪鏀寔PreparedStatement鐨勮瘽楂樎?br />聽聽聽 ------------------------------------------------------------------------------
聽聽聽 浼犺緭鏁堢巼聽聽聽聽 |聽聽 浣幝犅犅犅犅犅犅犅犅犅犅犅犅犅犅?|絎竴嬈′綆錛屼互鍚庨珮聽聽聽聽聽聽聽聽聽聽 |聽 楂?/p>
8. 鎵цSQL Statement(姝ラ鍥?
絳旓細(xì)閫氳繃鎺ュ彛鏂規(guī)硶灝哠QL璇彞浼犺緭鑷抽粰璁ょ殑鏁版嵁搴撹繛鎺ワ紝榪斿洖緇撴灉鍙兘鏄竴涓暟鎹〃錛屽彲浠ラ氳繃java.sql.ResultSet璁塊棶銆?br />聽聽聽 1) Statement鐨勬帴鍙f柟娉曪細(xì)
聽聽聽 a. executeQuery(sqlString): 鎵ц緇欏畾鐨凷QL澹版槑錛岃繑鍥炰竴涓粨鏋滈泦(ResultSet)瀵硅薄;
聽聽聽 b. executeUpdate(sqlString): 鎵ц緇欏畾鐨凷QL澹版槑錛屽彲浠ユ槸INSERT銆乁PDATE鎴朌ELETE澹版槑錛屼篃鍙互鏄疭QL DDL澹版槑;
聽聽聽 c. execute(sqlString): 鎵ц緇欏畾鐨凷QL澹版槑銆?/p>
9. 澶勭悊緇撴灉(姝ラ浜?
絳旓細(xì)1) 浣跨敤緇撴灉闆?ResultSet)瀵硅薄鐨勮闂柟娉曡幏鍙栨暟鎹?
聽聽聽聽聽聽 a. next():涓嬩竴涓褰?br />聽聽聽聽聽聽 b. first():絎竴涓褰?br />聽聽聽聽聽聽 c. last():鏈鍚庝竴涓褰?br />聽聽聽聽聽聽 d. previous():涓婁竴涓褰?br />聽聽聽 2) 閫氳繃瀛楁鍚嶆垨绱㈠紩鍙栧緱鏁版嵁
聽聽聽 3) 緇撴灉闆嗕繚鎸佷簡涓涓寚鍚戜簡褰撳墠琛岀殑鎸囬拡錛屽垵濮嬪寲浣嶇疆涓虹涓涓褰曞墠銆?/p>
10. 鍏抽棴JDBC瀵硅薄(姝ラ鍏?
絳旓細(xì)1) 棣栧厛鍏抽棴璁板綍闆?
聽聽聽 2) 鍏舵鍏抽棴澹版槑;
聽聽聽 3) 鏈鍚庡叧闂繛鎺ュ璞°?/p>
11. 鏁版嵁琛ㄥ拰綾誨搴旂殑涓夌鍏崇郴錛?br />絳旓細(xì)1) 涓涓〃瀵瑰簲涓涓被;
聽聽聽 2) 涓涓〃瀵瑰簲鐩稿叧綾?
聽聽聽 3) 涓涓〃瀵瑰簲鏁翠釜綾誨叧緋誨眰
12. 綾婚棿鍏崇郴鐨勫嚑縐嶈〃璁捐錛?br />絳旓細(xì)1) 澶氬涓錛?br />聽聽聽 2) 涓瀵逛竴:
聽聽聽 3) 涓瀵瑰錛?br />聽聽聽 4) 澶氬澶氾細(xì)
13. SQL鏁版嵁綾誨瀷鍙?qiáng)鍏剁浉搴旂殑Java鏁版嵁綾誨瀷
絳旓細(xì)SQL鏁版嵁綾誨瀷聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java鏁版嵁綾誨瀷聽聽聽聽聽聽聽聽聽聽聽聽聽 璇存槑
聽聽聽 ------------------------------------------------------------------
聽聽聽 INTEGER鎴栬匢NT聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 閫氬父鏄釜32浣嶆暣鏁?br />聽聽聽 SMALLINT聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 short聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 閫氬父鏄釜16浣嶆暣鏁?br />聽聽聽 NUMBER(m,n) DECIMAL(m,n)聽聽聽聽聽聽聽 Java.sql.Numeric聽聽聽聽聽聽聽 鍚堣浣嶆暟鏄痬鐨勫畾鐐瑰崄榪涘埗鏁幫紝灝忔暟鍚庨潰鏈塶浣嶆暟
聽聽聽 DEC(m,n)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Numeric聽聽聽聽聽聽聽 鍚堣浣嶆暟鏄痬鐨勫畾鐐瑰崄榪涘埗鏁幫紝灝忔暟鍚庨潰鏈塶浣嶆暟
聽聽聽 FLOAT(n)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 double聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 榪愮畻綺懼害涓簄浣嶄簩榪涘埗鏁扮殑嫻偣鏁?br />聽聽聽 REAL聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 float聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 閫氬父鏄?2浣嶆誕鐐規(guī)暟
聽聽聽 DOUBLE聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 double聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 閫氬父鏄?4浣嶆誕鐐規(guī)暟
聽聽聽 CHARACTER(n)鎴朇HAR(n)聽聽聽聽聽聽聽聽聽聽 String聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 闀垮害涓簄鐨勫浐瀹氶暱搴﹀瓧絎︿覆
聽聽聽 VARCHAR(n)聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鏈澶ч暱搴︿負(fù)n鐨勫彲鍙橀暱搴﹀瓧絎︿覆
聽聽聽 BOOLEAN聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 boolean聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 甯冨皵鍊?br />聽聽聽 DATE聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Date聽聽聽聽聽聽聽聽聽聽 鏍規(guī)嵁鍏蜂綋璁懼鑰屽疄鐜扮殑鏃ュ巻鏃ユ湡
聽聽聽 TIME聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Time聽聽聽聽聽聽聽聽聽聽 鏍規(guī)嵁鍏蜂綋璁懼鑰屽疄鐜扮殑鏃舵埑
聽聽聽 TIMESTAMP聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Timestamp聽聽聽聽聽 鏍規(guī)嵁鍏蜂綋璁懼鑰屽疄鐜扮殑褰撴棩鏃ユ湡鍜屾椂闂?br />聽聽聽 BLOB聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Blob聽聽聽聽聽聽聽聽聽聽 浜岃繘鍒跺ぇ鍨嬪璞?br />聽聽聽 CLOB聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Clob聽聽聽聽聽聽聽聽聽聽 瀛楃澶у瀷瀵硅薄
聽聽聽 ARRAY聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Java.sql.Array
聽聽聽
2004-9-15聽聽聽聽 鏄熸湡涓壜犅犅犅犅?闃?/p>
1. 鍏冩暟鎹?br />絳旓細(xì)鍏充簬鏁版嵁鐨勪俊鎭紝渚嬪綾誨瀷鎴栬呭閲忋傞氳繃JDBC API鍙互璁塊棶錛?br />聽聽聽 1) 鏁版嵁搴撳厓鏁版嵁;
聽聽聽聽聽聽 a. 浣跨敤connection.getMetadata鏂規(guī)硶榪斿洖DataMetaData寮曠敤
聽聽聽聽聽聽 b. 鑳藉浣跨敤isReadOnly姝ょ被鏂規(guī)硶鑾峰彇淇℃伅
聽聽聽 2) 緇撴灉闆嗗厓鏁版嵁;
聽聽聽聽聽聽 a. 浣跨敤ResultSet.getMetadata鏂規(guī)硶榪斿洖ResultSetMetaData寮曠敤
聽聽聽聽聽聽 b. 鑳藉浣跨敤getColumnCount姝ょ被鏂規(guī)硶鑾峰彇淇℃伅
2. 浜嬪姟澶勭悊
絳旓細(xì)1) 涓緋誨垪鐨勫姩浣滀綔涓轟竴涓笉鍙垎鐨勬搷浣?
聽聽聽 2) JDBC API涓嬌鐢ㄤ簨鍔″鐞嗘楠わ細(xì)
聽聽聽聽聽聽 a. 鐢╢alse浣滀負(fù)鍙傛暟璋冪敤setAutoCommit鏂規(guī)硶;
聽聽聽聽聽聽 b. 鎵ц涓鎴栧涓叧浜庢暟鎹簱鐨勬搷浣?
聽聽聽聽聽聽 c. 璋冪敤commit鏂規(guī)硶瀹屾垚鏀瑰彉;
聽聽聽聽聽聽 d. 鎭㈠涓婃鎻愪氦鍚庣殑鏀瑰彉錛岃皟鐢╮ollback鏂規(guī)硶.
聽聽聽聽聽聽 try
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 con.setAutoCommit(false);
聽聽聽聽聽聽聽聽聽 Statement stm = con.createStatement();
聽聽聽聽聽聽聽聽聽 stm.executeUpdate("insert into student(name, age, gpa) values('gzhu', 30, 4.8)");
聽聽聽聽聽聽聽聽聽 stm.commit();
聽聽聽聽聽聽 }
聽聽聽聽聽聽 catch(SQLException e)
聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 try
聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽聽聽聽 con.rollback();
聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽 catch(Exception e)
聽聽聽聽聽聽聽聽聽 {
聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽 }
3. 騫跺彂鎺у埗
絳旓細(xì)1) 璁劇疆闅旂綰у埆鏂規(guī)硶錛歴etTransactionIsolation
聽聽聽 2) 闅旂綰у埆闈欐佸彉閲?br />聽聽聽聽聽聽 a. TRANSACTION_NONE錛氬彧璇葷殑鏁版嵁瀛楀吀;
聽聽聽聽聽聽 b. TRANSACTION_READ_UNCOMMITTED錛氬彧璇繪湭鎻愪氦鏁版嵁;
聽聽聽聽聽聽 c. TRANSACTION_READ_COMMITTED錛氬彧璇繪湭鎻愪氦鏁版嵁;
聽聽聽聽聽聽 d. TRANSACTION_REPEATABLE_READ錛氶噸澶嶈鍙栨暟鎹?
聽聽聽聽聽聽 e. TRANSACTION_SERIALIZABLE錛氭棤璁哄仛浠涔堟搷浣滈兘涓嶈鍒漢鍔ㄣ?br />聽聽聽 3) 紺轟緥錛歝on.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
4. JDBC 2.0 搴旂敤紼嬪簭緙栫▼鎺ュ彛澧炲己鍔熻兘
絳旓細(xì)1) ResultSet澧炲己錛?br />聽聽聽聽聽聽 a. 鍙互鍥炲嵎;
聽聽聽聽聽聽 b. 鍙互淇敼;
聽聽聽聽聽聽 璁劇疆紺轟緥錛歋tatement stm = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
聽聽聽 2) Statement澧炲己浜嗘壒閲忎慨鏀硅兘鍔?batch updates);
聽聽聽 3) 鏇撮珮綰х殑鏁版嵁綾誨瀷(渚嬶細(xì)Struct)銆?/p>
5. JDBC 2.0鏍囧噯鎵╁睍
絳旓細(xì)1) JNDI(Java Naming and Directory Interface): 瑙e喅紱繪暎鐘舵佷笅Object鐨勬煡鎵?
聽聽聽 2) 榪炴帴姹狅細(xì)鍦ㄥ唴瀛樹腑淇濆瓨浜嗕竴涓暟鎹簱榪炴帴錛屼笉闇瑕佹敞鍐岄┍鍔ㄥ櫒錛屾彁楂樻ц兘鐨勯噸瑕佹柟娉曘?/p>
聽
聽
聽
聽
聽
聽
聽