JDBCTM 鏄竴縐嶇敤浜庢墽琛?SQL 璇彞鐨?JavaTM API錛堟湁鎰忔濈殑鏄紝JDBC 鏈韓鏄釜鍟嗘爣鍚嶈屼笉鏄竴涓緝鍐欏瓧錛涚劧鑰岋紝JDBC甯歌璁や負鏄唬琛?“Java 鏁版嵁搴撹繛鎺?(Java Database Connectivity)”錛夈傚畠鐢變竴緇勭敤 Java 緙栫▼璇█緙栧啓鐨勭被鍜屾帴鍙g粍鎴愩侸DBC 涓哄伐鍏?鏁版嵁搴撳紑鍙戜漢鍛樻彁渚涗簡涓涓爣鍑嗙殑 API錛屼嬌浠栦滑鑳藉鐢ㄧ函Java API 鏉ョ紪鍐欐暟鎹簱搴旂敤紼嬪簭銆侸ava鏁版嵁搴撹繛鎺ワ紙JDBC錛夌敱涓緇勭敤 Java 緙栫▼璇█緙栧啓鐨勭被鍜屾帴鍙g粍鎴愩侸DBC 涓哄伐鍏?鏁版嵁搴撳紑鍙戜漢鍛樻彁渚涗簡涓涓爣鍑嗙殑 API錛屼嬌浠栦滑鑳藉鐢ㄧ函Java API 鏉ョ紪鍐欐暟鎹簱搴旂敤紼嬪簭銆傜劧鑰屽悇涓紑鍙戝晢鐨勬帴鍙e茍涓嶅畬鍏ㄧ浉鍚岋紝鎵浠ュ紑鍙戠幆澧冪殑鍙樺寲浼氬甫鏉ヤ竴瀹氱殑閰嶇疆鍙樺寲銆?br />
JDBC 鐨勭敤閫旀槸浠涔堬紵綆鍗曞湴璇達紝JDBC 鍙仛涓変歡浜嬶細涓庢暟鎹簱寤虹珛榪炴帴錛屽彂閫?SQL 璇彞錛屽鐞嗙粨鏋溿?/p>
涓銆佽繛鎺ュ悇縐嶆暟鎹簱鏂瑰紡閫熸煡琛?br />
涓嬮潰緗楀垪浜嗗悇縐嶆暟鎹簱浣跨敤JDBC榪炴帴鐨勬柟寮忥紝鍙互浣滀負涓涓墜鍐屼嬌鐢ㄣ?/p>
1銆丱racle8/8i/9i鏁版嵁搴擄紙thin妯″紡錛?
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl涓烘暟鎹簱鐨凷ID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2銆丏B2鏁版嵁搴?
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample涓轟綘鐨勬暟鎹簱鍚?
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3銆丼ql Server7.0/2000鏁版嵁搴?
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb涓烘暟鎹簱
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
4銆丼ybase鏁版嵁搴?
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB涓轟綘鐨勬暟鎹簱鍚?
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
5銆両nformix鏁版嵁搴?
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB涓烘暟鎹簱鍚?
Connection conn= DriverManager.getConnection(url);
6銆丮ySQL鏁版嵁搴?
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB涓烘暟鎹簱鍚?
Connection conn= DriverManager.getConnection(url);
7銆丳ostgreSQL鏁版嵁搴?
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB" //myDB涓烘暟鎹簱鍚?
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
8銆乤ccess鏁版嵁搴撶洿榪炵敤ODBC鐨?br />
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
Statement stmtNew=conn.createStatement() ;
浜屻佷嬌鐢↗DBC鏉ヨ繛鎺racle鏁版嵁搴撴椂鍙互浣跨敤鐨勪竴浜涙妧宸э紝榪欎簺鎶宸ц兘澶熶嬌鎴戜滑鏇村ソ鍦板彂鎸ョ郴緇熺殑鎬ц兘鍜屽疄鐜版洿澶氱殑鍔熻兘錛堢郴杞澆錛夈?/p>
銆銆1銆佸湪瀹㈡埛绔蔣浠跺紑鍙戜腑浣跨敤Thin椹卞姩紼嬪簭
銆銆鍦ㄥ紑鍙慗ava杞歡鏂歸潰錛孫racle鐨勬暟鎹簱鎻愪緵浜嗗洓縐嶇被鍨嬬殑椹卞姩紼嬪簭錛屼簩縐嶇敤浜庡簲鐢ㄨ蔣浠躲乤pplets銆乻ervlets絳夊鎴風杞歡錛屽彟澶栦簩縐嶇敤浜庢暟鎹簱涓殑Java瀛樺偍榪囩▼絳夋湇鍔″櫒绔蔣浠躲傚湪瀹㈡埛鏈虹杞歡鐨勫紑鍙戜腑錛屾垜浠彲浠ラ夋嫨OCI椹卞姩紼嬪簭鎴朤hin椹卞姩紼嬪簭銆侽CI椹卞姩紼嬪簭鍒╃敤Java鏈湴鍖栨帴鍙o紙JNI錛夛紝閫氳繃Oracle瀹㈡埛绔蔣浠朵笌鏁版嵁搴撹繘琛岄氳銆俆hin椹卞姩紼嬪簭鏄函Java椹卞姩紼嬪簭錛屽畠鐩存帴涓庢暟鎹簱榪涜閫氳銆備負浜嗚幏寰楁渶楂樼殑鎬ц兘錛孫racle寤鴻鍦ㄥ鎴風杞歡鐨勫紑鍙戜腑浣跨敤OCI椹卞姩紼嬪簭錛岃繖浼間箮鏄紜殑銆備絾鎴戝緩璁嬌鐢═hin椹卞姩紼嬪簭錛屽洜涓洪氳繃澶氭嫻嬭瘯鍙戠幇錛屽湪閫氬父鎯呭喌涓嬶紝Thin椹卞姩紼嬪簭鐨勬ц兘閮借秴榪囦簡OCI椹卞姩紼嬪簭銆?/p>
銆銆2銆佸叧闂嚜鍔ㄦ彁浜ゅ姛鑳斤紝鎻愰珮緋葷粺鎬ц兘
銆銆鍦ㄧ涓嬈″緩绔嬩笌鏁版嵁搴撶殑榪炴帴鏃訛紝鍦ㄧ己鐪佹儏鍐典笅錛岃繛鎺ユ槸鍦ㄨ嚜鍔ㄦ彁浜ゆā寮忎笅鐨勩備負浜嗚幏寰楁洿濂界殑鎬ц兘錛屽彲浠ラ氳繃璋冪敤甯﹀竷灝斿糵alse鍙傛暟鐨凜onnection綾葷殑setAutoCommit()鏂規硶鍏抽棴鑷姩鎻愪氦鍔熻兘錛屽涓嬫墍紺猴細
銆銆conn.setAutoCommit(false);
銆銆鍊煎緱娉ㄦ剰鐨勬槸錛屼竴鏃﹀叧闂簡鑷姩鎻愪氦鍔熻兘錛屾垜浠氨闇瑕侀氳繃璋冪敤Connection綾葷殑commit()鍜宺ollback()鏂規硶鏉ヤ漢宸ョ殑鏂瑰紡瀵逛簨鍔¤繘琛岀鐞嗐?/p>
銆銆3銆佸湪鍔ㄦ丼QL鎴栨湁鏃墮棿闄愬埗鐨勫懡浠や腑浣跨敤Statement瀵硅薄
銆銆鍦ㄦ墽琛孲QL鍛戒護鏃訛紝鎴戜滑鏈変簩縐嶉夋嫨錛氬彲浠ヤ嬌鐢≒reparedStatement瀵硅薄錛屼篃鍙互浣跨敤Statement瀵硅薄銆傛棤璁哄灝戞鍦頒嬌鐢ㄥ悓涓涓猄QL鍛戒護錛孭reparedStatement閮藉彧瀵瑰畠瑙f瀽鍜岀紪璇戜竴嬈°傚綋浣跨敤Statement瀵硅薄鏃訛紝姣忔鎵ц涓涓猄QL鍛戒護鏃訛紝閮戒細瀵瑰畠榪涜瑙f瀽鍜岀紪璇戙傝繖鍙兘浼氫嬌浣犺涓猴紝浣跨敤PreparedStatement瀵硅薄姣斾嬌鐢⊿tatement瀵硅薄鐨勯熷害鏇村揩銆傜劧鑰岋紝鎴戣繘琛岀殑嫻嬭瘯琛ㄦ槑錛屽湪瀹㈡埛绔蔣浠朵腑錛屾儏鍐靛茍闈炲姝ゃ傚洜姝わ紝鍦ㄦ湁鏃墮棿闄愬埗鐨凷QL鎿嶄綔涓紝闄ら潪鎴愭壒鍦板鐞哠QL鍛戒護錛屾垜浠簲褰撹冭檻浣跨敤Statement瀵硅薄銆?/p>
銆銆姝ゅ錛屼嬌鐢⊿tatement瀵硅薄涔熶嬌寰楃紪鍐欏姩鎬丼QL鍛戒護鏇村姞綆鍗曪紝鍥犱負鎴戜滑鍙互灝嗗瓧絎︿覆榪炴帴鍦ㄤ竴璧鳳紝寤虹珛涓涓湁鏁堢殑SQL鍛戒護銆傚洜姝わ紝鎴戣涓猴紝Statement瀵硅薄鍙互浣垮姩鎬丼QL鍛戒護鐨勫垱寤哄拰鎵ц鍙樺緱鏇村姞綆鍗曘?/p>
銆銆4銆佸埄鐢╤elper鍑芥暟瀵瑰姩鎬丼QL鍛戒護榪涜鏍煎紡鍖?/p>
銆銆鍦ㄥ垱寤轟嬌鐢⊿tatement瀵硅薄鎵ц鐨勫姩鎬丼QL鍛戒護鏃訛紝鎴戜滑闇瑕佸鐞嗕竴浜涙牸寮忓寲鏂歸潰鐨勯棶棰樸備緥濡傦紝濡傛灉鎴戜滑鎯沖垱寤轟竴涓皢鍚嶅瓧O'Reilly鎻掑叆琛ㄤ腑鐨凷QL鍛戒護錛屽垯蹇呴』浣跨敤浜屼釜鐩歌繛鐨?#8220;''”鍙鋒浛鎹'Reilly涓殑“'”鍙楓傚畬鎴愯繖浜涘伐浣滅殑鏈濂界殑鏂規硶鏄垱寤轟竴涓畬鎴愭浛鎹㈡搷浣滅殑helper鏂規硶錛岀劧鍚庡湪榪炴帴瀛楃涓插績鏈嶇敤鍏紡琛ㄨ揪涓涓猄QL鍛戒護鏃訛紝浣跨敤鍒涘緩鐨刪elper鏂規硶銆備笌姝ょ被浼肩殑鏄紝鎴戜滑鍙互璁﹉elper鏂規硶鎺ュ彈涓涓狣ate鍨嬬殑鍊鹼紝鐒跺悗璁╁畠杈撳嚭鍩轟簬Oracle鐨則o_date()鍑芥暟鐨勫瓧絎︿覆琛ㄨ揪寮忋?/p>
銆銆5銆佸埄鐢≒reparedStatement瀵硅薄鎻愰珮鏁版嵁搴撶殑鎬諱綋鏁堢巼
銆銆鍦ㄤ嬌鐢≒reparedStatement瀵硅薄鎵цSQL鍛戒護鏃訛紝鍛戒護琚暟鎹簱榪涜瑙f瀽鍜岀紪璇戯紝鐒跺悗琚斁鍒板懡浠ょ紦鍐插尯銆傜劧鍚庯紝姣忓綋鎵ц鍚屼竴涓狿reparedStatement瀵硅薄鏃訛紝瀹冨氨浼氳鍐嶈В鏋愪竴嬈★紝浣嗕笉浼氳鍐嶆緙栬瘧銆傚湪緙撳啿鍖轟腑鍙互鍙戠幇棰勭紪璇戠殑鍛戒護錛屽茍涓斿彲浠ラ噸鏂頒嬌鐢ㄣ傚湪鏈夊ぇ閲忕敤鎴風殑浼佷笟綰у簲鐢ㄨ蔣浠朵腑錛岀粡甯鎬細閲嶅鎵ц鐩稿悓鐨凷QL鍛戒護錛屼嬌鐢≒reparedStatement瀵硅薄甯︽潵鐨勭紪璇戞鏁扮殑鍑忓皯鑳藉鎻愰珮鏁版嵁搴撶殑鎬諱綋鎬ц兘銆傚鏋滀笉鏄湪瀹㈡埛绔垱寤恒侀澶囥佹墽琛孭reparedStatement浠誨姟闇瑕佺殑鏃墮棿闀夸簬Statement浠誨姟錛屾垜浼氬緩璁湪闄ゅ姩鎬丼QL鍛戒護涔嬪鐨勬墍鏈夋儏鍐典笅浣跨敤PreparedStatement瀵硅薄銆?/p>
銆銆6銆佸湪鎴愭壒澶勭悊閲嶅鐨勬彃鍏ユ垨鏇存柊鎿嶄綔涓嬌鐢≒reparedStatement瀵硅薄
銆銆濡傛灉鎴愭壒鍦板鐞嗘彃鍏ュ拰鏇存柊鎿嶄綔錛屽氨鑳藉鏄捐憲鍦板噺灝戝畠浠墍闇瑕佺殑鏃墮棿銆侽racle鎻愪緵鐨凷tatement鍜?CallableStatement騫朵笉鐪熸鍦版敮鎸佹壒澶勭悊錛屽彧鏈塒reparedStatement瀵硅薄鎵嶇湡姝e湴鏀寔鎵瑰鐞嗐傛垜浠彲浠ヤ嬌鐢╝ddBatch()鍜宔xecuteBatch()鏂規硶閫夋嫨鏍囧噯鐨凧DBC鎵瑰鐞嗭紝鎴栬呴氳繃鍒╃敤PreparedStatement瀵硅薄鐨剆etExecuteBatch()鏂規硶鍜屾爣鍑嗙殑executeUpdate()鏂規硶閫夋嫨閫熷害鏇村揩鐨凮racle涓撴湁鐨勬柟娉曘傝浣跨敤Oracle涓撴湁鐨勬壒澶勭悊鏈哄埗錛屽彲浠ヤ互濡備笅鎵紺虹殑鏂瑰紡璋冪敤setExecuteBatch()錛?br />
PreparedStatement pstmt3D null;
try {
((OraclePreparedStatement)
pstmt).setExecuteBatch(30);
...
pstmt.executeUpdate();
}
銆銆璋冪敤setExecuteBatch()鏃舵寚瀹氱殑鍊兼槸涓涓笂闄愶紝褰撹揪鍒拌鍊兼椂錛屽氨浼氳嚜鍔ㄥ湴寮曞彂SQL鍛戒護鎵ц錛屾爣鍑嗙殑executeUpdate()鏂規硶灝變細琚綔涓烘壒澶勭悊閫佸埌鏁版嵁搴撲腑銆傛垜浠彲浠ラ氳繃璋冪敤PreparedStatement綾葷殑sendBatch()鏂規硶闅忔椂浼犺緭鎵瑰鐞嗕換鍔°?/p>
銆銆7銆佷嬌鐢∣racle locator鏂規硶鎻掑叆銆佹洿鏂板ぇ瀵硅薄錛圠OB錛?/p>
銆銆Oracle鐨凱reparedStatement綾諱笉瀹屽叏鏀寔BLOB鍜孋LOB絳夊ぇ瀵硅薄鐨勫鐞嗭紝灝ゅ叾鏄疶hin椹卞姩紼嬪簭涓嶆敮鎸佸埄鐢≒reparedStatement瀵硅薄鐨剆etObject()鍜宻etBinaryStream()鏂規硶璁劇疆BLOB鐨勫鹼紝涔熶笉鏀寔鍒╃敤setCharacterStream()鏂規硶璁劇疆CLOB鐨勫箋傚彧鏈塴ocator鏈韓涓殑鏂規硶鎵嶈兘澶熶粠鏁版嵁搴撲腑鑾峰彇LOB綾誨瀷鐨勫箋傚彲浠ヤ嬌鐢≒reparedStatement瀵硅薄鎻掑叆鎴栨洿鏂癓OB錛屼絾闇瑕佷嬌鐢╨ocator鎵嶈兘鑾峰彇LOB鐨勫箋傜敱浜庡瓨鍦ㄨ繖浜屼釜闂錛屽洜姝わ紝鎴戝緩璁嬌鐢╨ocator鐨勬柟娉曟潵鎻掑叆銆佹洿鏂版垨鑾峰彇LOB鐨勫箋?/p>
銆銆8銆佷嬌鐢⊿QL92璇硶璋冪敤瀛樺偍榪囩▼
銆銆鍦ㄨ皟鐢ㄥ瓨鍌ㄨ繃紼嬫椂錛屾垜浠彲浠ヤ嬌鐢⊿QL92鎴朞racle PL/SQL錛岀敱浜庝嬌鐢∣racle PL/SQL騫舵病鏈変粈涔堝疄闄呯殑濂藉錛岃屼笖浼氱粰浠ュ悗緇存姢浣犵殑搴旂敤紼嬪簭鐨勫紑鍙戜漢鍛樺甫鏉ラ夯鐑︼紝鍥犳錛屾垜寤鴻鍦ㄨ皟鐢ㄥ瓨鍌ㄨ繃紼嬫椂浣跨敤SQL92銆?/p>
銆銆9銆佷嬌鐢∣bject SQL灝嗗璞℃ā寮忚漿縐誨埌鏁版嵁搴撲腑
銆銆鏃㈢劧鍙互灝哋racle鐨勬暟鎹簱浣滀負涓縐嶉潰鍚戝璞$殑鏁版嵁搴撴潵浣跨敤錛屽氨鍙互鑰冭檻灝嗗簲鐢ㄧ▼搴忎腑鐨勯潰鍚戝璞℃ā寮忚漿鍒版暟鎹簱涓傜洰鍓嶇殑鏂規硶鏄垱寤篔ava bean浣滀負浼鐨勬暟鎹簱瀵硅薄錛屽皢瀹冧滑鐨勫睘鎬ф槧灝勫埌鍏崇郴琛ㄤ腑錛岀劧鍚庡湪榪欎簺bean涓坊鍔犳柟娉曘傚敖綆¤繖鏍蜂綔鍦↗ava涓病鏈変粈涔堥棶棰橈紝浣嗙敱浜庢搷浣滈兘鏄湪鏁版嵁搴撲箣澶栬繘琛岀殑錛屽洜姝ゅ叾浠栬闂暟鎹簱鐨勫簲鐢ㄨ蔣浠舵棤娉曞埄鐢ㄥ璞℃ā寮忋傚鏋滃埄鐢∣racle鐨勯潰鍚戝璞$殑鎶鏈紝鍙互閫氳繃鍒涘緩涓涓柊鐨勬暟鎹簱瀵硅薄綾誨瀷鍦ㄦ暟鎹簱涓ā浠垮叾鏁版嵁鍜屾搷浣滐紝鐒跺悗浣跨敤JPublisher絳夊伐鍏風敓鎴愯嚜宸辯殑Java bean綾匯傚鏋滀嬌鐢ㄨ繖縐嶆柟寮忥紝涓嶄絾Java搴旂敤紼嬪簭鍙互浣跨敤搴旂敤杞歡鐨勫璞℃ā寮忥紝鍏朵粬闇瑕佸叡浜綘鐨勫簲鐢ㄤ腑鐨勬暟鎹拰鎿嶄綔鐨勫簲鐢ㄨ蔣浠朵篃鍙互浣跨敤搴旂敤杞歡涓殑瀵硅薄妯″紡銆?/p>
銆銆10銆佸埄鐢⊿QL瀹屾垚鏁版嵁搴撳唴鐨勬搷浣?/p>
銆銆鎴戣鍚戝ぇ瀹朵粙緇嶇殑鏈閲嶈鐨勭粡楠屾槸鍏呭垎鍒╃敤SQL鐨勯潰鍚戦泦鍚堢殑鏂規硶鏉ヨВ鍐蟲暟鎹簱澶勭悊闇姹傦紝鑰屼笉鏄嬌鐢↗ava絳夎繃紼嬪寲鐨勭紪紼嬭璦銆?/p>
銆銆濡傛灉緙栫▼浜哄憳瑕佸湪涓涓〃涓煡鎵捐澶氳錛岀粨鏋滀腑鐨勬瘡涓閮戒細鏌ユ壘鍏朵粬琛ㄤ腑鐨勬暟鎹紝鏈鍚庯紝緙栫▼浜哄憳鍒涘緩浜嗙嫭绔嬬殑UPDATE鍛戒護鏉ユ垚鎵瑰湴鏇存柊絎竴涓〃涓殑鏁版嵁銆備笌姝ょ被浼肩殑浠誨姟鍙互閫氳繃鍦╯et瀛愬彞涓嬌鐢ㄥ鍒楀瓙鏌ヨ鑰屽湪涓涓猆PDATE鍛戒護涓畬鎴愩傚綋鑳藉鍦ㄥ崟涓鐨凷QL鍛戒護涓畬鎴愪換鍔★紝浣曞繀瑕佽鏁版嵁鍦ㄧ綉涓婃祦鏉ユ祦鍘葷殑錛熸垜寤鴻鐢ㄦ埛璁ょ湡瀛︿範濡備綍鏈澶ч檺搴﹀湴鍙戞尌SQL鐨勫姛鑳姐?
涓夈佸父鐢ㄧ殑JDBC綾諱笌鏂規硶
1銆丏riverManager綾伙細
璐熻矗綆$悊JDBC椹卞姩紼嬪簭銆備嬌鐢↗DBC椹卞姩紼嬪簭涔嬪墠錛屽繀欏誨厛灝嗛┍鍔ㄧ▼搴忓姞杞藉茍鍚慏riverManager娉ㄥ唽鍚庢墠鍙互浣跨敤錛屽悓鏃舵彁渚涙柟娉曟潵寤虹珛涓庢暟鎹簱鐨勮繛鎺ャ?
鏂規硶錛?
A銆丆lass.forName(String driver); //鍔犺澆娉ㄥ唽椹卞姩紼嬪簭
B銆丼tatic Connection getConnection(String url,String user,String password) throws SQLException;
//鍙栧緱瀵規暟鎹簱鐨勮繛鎺?
C銆丼tatic Driver getDriver(String url) throws SQLExcetion;
//鍦ㄥ凡緇忓悜DriverManager娉ㄥ唽鐨勯┍鍔ㄧ▼搴忎腑瀵繪壘涓涓兘澶熸墦寮url鎵鎸囧畾鐨勬暟鎹簱鐨勯┍鍔ㄧ▼搴?
2銆丆onnection綾?
璐熻矗緇存姢JSP/JAVA鏁版嵁搴撶▼搴忓拰鏁版嵁搴撲箣闂寸殑鑱旀満銆傚彲浠ュ緩绔嬩笁涓潪甯告湁鐢ㄧ殑綾誨璞°?
鏂規硶錛?
A銆丼tatement createStatement() throws SQLException; //寤虹珛Statement綾誨璞?
Statement createStatement(int resultSetType,int resultSetConcurrency) throws SQLException;
// 寤虹珛Statement綾誨璞?
resultSetType鍊?nbsp;
TYPE_FORWARD_ONLY 緇撴灉闆嗕笉鍙粴鍔?nbsp;
TYPE_SCROLL_INSENSITIVE 緇撴灉闆嗗彲婊氬姩錛屼笉鍙嶆槧鏁版嵁搴撶殑鍙樺寲
TYPE_SCROLL_SENSITIVE 緇撴灉闆嗗彲婊氬姩錛屽弽鏄犳暟鎹簱鐨勫彉鍖?nbsp;
resultSetConcurrency鍊?nbsp;
CONCUR_READ_ONLY 涓嶈兘鐢ㄧ粨鏋滈泦鏇存柊鏁版嵁
CONCUR_UPDATABLE 鑳界敤緇撴灉闆嗘洿鏂版暟鎹?nbsp;
JDBC2.0涓墠鏀寔婊氬姩鐨勭粨鏋滈泦錛岃屼笖鍙互瀵規暟鎹繘琛屾洿鏂?
B銆丏atabaseMetaData getMetaData() throws SQLException; //寤虹珛DatabaseMetaData綾誨璞?
C銆丳reparedStatement prepareStatement(String sql) throws SQLException;
//寤虹珛PreparedStatement綾誨璞?
D銆乥oolean getAutoCommit() throws SQLException //榪斿洖Connection綾誨璞$殑AutoCommit鐘舵?
E銆乿oid setAutoCommit(boolean autoCommit) throws SQLException
//璁懼畾Connection綾誨璞$殑AutoCommit鐘舵?
F銆乿oid commit() throws SQLException //紜畾鎵ц瀵規暟鎹簱鏂板銆佸垹闄ゆ垨淇敼璁板綍鐨勬搷浣?
G銆乿oid rollback() throws SQLException //鍙栨秷鎵ц瀵規暟鎹簱鏂板銆佸垹闄ゆ垨淇敼璁板綍鐨勬搷浣?
H銆乿oid close() throws SQLException //緇撴潫Connection瀵硅薄瀵規暟鎹簱鐨勮仈鏈?
I銆乥oolean isClosed() throws SQLException //嫻嬭瘯鏄惁宸茬粡鍏抽棴Connection綾誨璞″鏁版嵁搴撶殑鑱旀満
3銆丼tatement綾?
閫氳繃Statement綾繪墍鎻愪緵鐨勬柟娉曪紝鍙互鍒╃敤鏍囧噯鐨凷QL鍛戒護錛屽鏁版嵁搴撶洿鎺ユ柊澧炪佸垹闄ゆ垨淇敼鎿嶄綔
鏂規硶錛?
A銆丷esultSet executeQuery(String sql) throws SQLException //浣跨敤SELECT鍛戒護瀵規暟鎹簱榪涜鏌ヨ
B銆乮nt executeUpdate(String sql) throws SQLException
//浣跨敤INSERT\DELETE\UPDATE瀵規暟鎹簱榪涜鏂板銆佸垹闄ゅ拰淇敼鎿嶄綔銆?
C銆乿oid close() throws SQLException //緇撴潫Statement綾誨璞″鏁版嵁搴撶殑鑱旀満
4銆丳reparedStatement綾?
PreparedStatement綾誨拰Statement綾葷殑涓嶅悓涔嬪鍦ㄤ簬PreparedStatement綾誨璞′細灝嗕紶鍏ョ殑SQL鍛戒護浜嬪厛緙栧ソ絳夊緟浣跨敤錛屽綋鏈夊崟涓鐨凷QL鎸囦護姣斿嬈℃墽琛屾椂錛岀敤PreparedStatement綾諱細姣擲tatement綾繪湁鏁堢巼
鏂規硶錛?
A銆丷esultSet executeQuery() throws SQLException //浣跨敤SELECT鍛戒護瀵規暟鎹簱榪涜鏌ヨ
B銆乮nt executeUpdate() throws SQLException
//浣跨敤INSERT\DELETE\UPDATE瀵規暟鎹簱榪涜鏂板銆佸垹闄ゅ拰淇敼鎿嶄綔銆?
C銆丷esultSetMetaData getMetaData() throws SQLException
//鍙栧緱ResultSet綾誨璞℃湁鍏沖瓧孌電殑鐩稿叧淇℃伅
D銆乿oid setInt(int parameterIndex,int x) throws SQLException
//璁懼畾鏁存暟綾誨瀷鏁板肩粰PreparedStatement綾誨璞$殑IN鍙傛暟
E銆乿oid setFloat(int parameterIndex,float x) throws SQLException
//璁懼畾嫻偣鏁扮被鍨嬫暟鍊肩粰PreparedStatement綾誨璞$殑IN鍙傛暟
F銆乿oid setNull(int parameterIndex,int sqlType) throws SQLException
//璁懼畾NULL綾誨瀷鏁板肩粰PreparedStatement綾誨璞$殑IN鍙傛暟
G銆乿oid setString(int parameterIndex,String x) throws SQLException
//璁懼畾瀛楃涓茬被鍨嬫暟鍊肩粰PreparedStatement綾誨璞$殑IN鍙傛暟
H銆乿oid setDate(int parameterIndex,Date x) throws SQLException
//璁懼畾鏃ユ湡綾誨瀷鏁板肩粰PreparedStatement綾誨璞$殑IN鍙傛暟
I銆乿oid setTime(int parameterIndex,Time x) throws SQLException
//璁懼畾鏃墮棿綾誨瀷鏁板肩粰PreparedStatement綾誨璞$殑IN鍙傛暟
5銆丏atabaseMetaData綾?
DatabaseMetaData綾諱繚瀛樹簡鏁版嵁搴撶殑鎵鏈夌壒鎬э紝騫朵笖鎻愪緵璁稿鏂規硶鏉ュ彇寰楄繖浜涗俊鎭?
鏂規硶錛?
A銆丼tring getDatabaseProductName() throws SQLException //鍙栧緱鏁版嵁搴撳悕縐?
B銆丼tring getDatabaseProductVersion() throws SQLException //鍙栧緱鏁版嵁搴撶増鏈唬鍙?
C銆丼tring getDriverName() throws SQLException //鍙栧緱JDBC椹卞姩紼嬪簭鐨勫悕縐?
D銆丼tring getDriverVersion() throws SQLException //鍙栧緱JDBC椹卞姩紼嬪簭鐨勭増鏈唬鍙?
E銆丼tring getURL() throws SQLException //鍙栧緱榪炴帴鏁版嵁搴撶殑JDBC URL
F銆丼tring getUserName() throws SQLException //鍙栧緱鐧誨綍鏁版嵁搴撶殑浣跨敤鑰呭笎鍙?
6銆丷esultSet綾?
璐熻矗瀛樺偍鏌ヨ鏁版嵁搴撶殑緇撴灉銆傚茍鎻愪緵涓緋誨垪鐨勬柟娉曞鏁版嵁搴撹繘琛屾柊澧炪佸垹闄ゅ拰淇敼鎿嶄綔銆備篃璐熻矗緇存姢涓涓褰曟寚閽堬紙Cursor錛夛紝璁板綍鎸囬拡鎸囧悜鏁版嵁琛ㄤ腑鐨勬煇涓褰曪紝閫氳繃閫傚綋鐨勭Щ鍔ㄨ褰曟寚閽堬紝鍙互闅忓績鎵嬈茬殑瀛樺彇鏁版嵁搴擄紝鍔犲己紼嬪簭鐨勬晥鐜囥?
鏂規硶錛?
A銆乥oolean absolute(int row) throws SQLException //縐誨姩璁板綍鎸囬拡鍒版寚瀹氱殑璁板綍
B銆乿oid beforeFirst() throws SQLException //縐誨姩璁板綍鎸囬拡鍒扮涓絎旇褰曚箣鍓?
C銆乿oid afterLast() throws SQLException //縐誨姩璁板綍鎸囬拡鍒版渶鍚庝竴絎旇褰曚箣鍚?
D銆乥oolean first() throws SQLException //縐誨姩璁板綍鎸囬拡鍒扮涓絎旇褰?
E銆乥oolean last() throws SQLException //縐誨姩璁板綍鎸囬拡鍒版渶鍚庝竴絎旇褰?
F銆乥oolean next() throws SQLException //縐誨姩璁板綍鎸囬拡鍒頒笅涓絎旇褰?
G銆乥oolean previous() throws SQLException //縐誨姩璁板綍鎸囬拡鍒頒笂涓絎旇褰?
H銆乿oid deleteRow() throws SQLException //鍒犻櫎璁板綍鎸囬拡鎸囧悜鐨勮褰?
I銆乿oid moveToInsertRow() throws SQLException //縐誨姩璁板綍鎸囬拡浠ユ柊澧炰竴絎旇褰?
J銆乿oid moveToCurrentRow() throws SQLException //縐誨姩璁板綍鎸囬拡鍒拌璁板繂鐨勮褰?
K銆乿oid insertRow() throws SQLException //鏂板涓絎旇褰曞埌鏁版嵁搴撲腑
L銆乿oid updateRow() throws SQLException //淇敼鏁版嵁搴撲腑鐨勪竴絎旇褰?
M銆乿oid update綾誨瀷(int columnIndex,綾誨瀷 x) throws SQLException //淇敼鎸囧畾瀛楁鐨勫?
N銆乮nt get綾誨瀷(int columnIndex) throws SQLException //鍙栧緱鎸囧畾瀛楁鐨勫?
O銆丷esultSetMetaData getMetaData() throws SQLException //鍙栧緱ResultSetMetaData綾誨璞?
7銆丷esultSetMetaData綾?
ResultSetMetaData綾誨璞′繚瀛樹簡鎵鏈塕esultSet綾誨璞′腑鍏充簬瀛楁鐨勪俊鎭紝鎻愪緵璁稿鏂規硶鏉ュ彇寰楄繖浜涗俊鎭?
鏂規硶錛?
A銆乮nt getColumnCount() throws SQLException //鍙栧緱ResultSet綾誨璞$殑瀛楁涓暟
B銆乮nt getColumnDisplaySize() throws SQLException //鍙栧緱ResultSet綾誨璞$殑瀛楁闀垮害
C銆丼tring getColumnName(int column) throws SQLException //鍙栧緱ResultSet綾誨璞$殑瀛楁鍚嶇О
D銆丼tring getColumnTypeName(int column) throws SQLException //鍙栧緱ResultSet綾誨璞$殑瀛楁綾誨瀷鍚嶇О
E銆丼tring getTableName(int column) throws SQLException //鍙栧緱ResultSet綾誨璞$殑瀛楁鎵灞炴暟鎹〃鐨勫悕縐?
F銆乥oolean isCaseSensitive(int column) throws SQLException //嫻嬭瘯ResultSet綾誨璞$殑瀛楁鏄惁鍖哄垎澶у皬鍐?
G銆乥oolean isReadOnly(int column) throws SQLException //嫻嬭瘯ResultSet綾誨璞$殑瀛楁鏄惁涓哄彧璇?
鍥涖佷嬌鐢ㄥ瓨鍌ㄨ繃紼?br />
綆鍗曠殑鑰佺殑JDBC閫氳繃CallableStatement綾繪敮鎸佸瓨鍌ㄨ繃紼嬬殑璋冪敤銆傝綾誨疄闄呬笂鏄疨reparedStatement鐨勪竴涓瓙綾匯傚亣璁炬垜浠湁涓涓猵oets鏁版嵁搴撱傛暟鎹簱涓湁涓涓緗瘲浜洪濅笘騫撮緞鐨勫瓨鍌ㄨ繃紼嬨備笅闈㈡槸瀵硅侀厭楝糄ylan Thomas錛坥ld soak Dylan Thomas錛屼笉鎸囧畾鏄惁鏈夊叧鍏告晠銆佹枃鍖栵紝璇鋒壒璇勬寚姝c傝瘧娉級榪涜璋冪敤鐨勮緇嗕唬鐮侊細

]]>