锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1銆乯ava鏁版嵁搴撴搷浣滃熀鏈祦紼?
銆銆2銆佸嚑涓父鐢ㄧ殑閲嶈鎶宸э細
銆銆鍙粴鍔ㄣ佹洿鏂扮殑璁板綍闆?/p>
銆銆鎵歸噺鏇存柊
銆銆浜嬪姟澶勭悊
銆銆java鏁版嵁搴撴搷浣滃熀鏈祦紼嬶細鍙栧緱鏁版嵁搴撹繛鎺?- 鎵цsql璇彞 - 澶勭悊鎵ц緇撴灉 - 閲婃斁鏁版嵁搴撹繛鎺?/p>
銆銆1銆佸彇寰楁暟鎹簱榪炴帴
銆銆1)鐢―riverManager鍙栨暟鎹簱榪炴帴
銆銆渚嬪瓙錛氥銆
String className,url,uid,pwd; 銆銆className = "oracle.jdbc.driver.OracleDriver"; 銆銆url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; 銆銆uid = "system"; 銆銆pwd = "manager"; 銆銆Class.forName(className); 銆銆Connection cn = DriverManager.getConnection(url,uid,pwd); 銆銆2)鐢╦ndi(java鐨勫懡鍚嶅拰鐩綍鏈嶅姟)鏂瑰紡 |
String jndi = "jdbc/db"; 銆銆Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 銆銆DataSource ds = (DataSource) ctx.lookup(jndi); 銆銆Connection cn = ds.getConnection(); |
銆銆2銆佹墽琛宻ql璇彞
銆銆1)鐢⊿tatement鏉ユ墽琛宻ql璇彞銆
銆String sql; 銆銆Statement sm = cn.createStatement(); 銆銆sm.executeQuery(sql); // 鎵ц鏁版嵁鏌ヨ璇彞(select) 銆銆sm.executeUpdate(sql); // 鎵ц鏁版嵁鏇存柊璇彞(delete銆乽pdate銆乮nsert銆乨rop絳?statement.close(); |
銆銆2)鐢≒reparedStatement鏉ユ墽琛宻ql璇彞銆銆
String sql; 銆銆sql = "insert into user (id,name) values (?,?)"; 銆銆PreparedStatement ps = cn.prepareStatement(sql); 銆銆ps.setInt(1,xxx); 銆銆ps.setString(2,xxx); 銆銆... 銆銆ResultSet rs = ps.executeQuery(); // 鏌ヨ 銆銆int c = ps.executeUpdate(); // 鏇存柊 |
3銆佸鐞嗘墽琛岀粨鏋?/strong>
銆銆鏌ヨ璇彞錛岃繑鍥炶褰曢泦ResultSet銆?/p>
銆銆鏇存柊璇彞錛岃繑鍥炴暟瀛楋紝琛ㄧず璇ユ洿鏂板獎鍝嶇殑璁板綍鏁般?/p>
銆銆ResultSet鐨勬柟娉曪細
銆銆1銆乶ext()錛屽皢娓告爣寰鍚庣Щ鍔ㄤ竴琛岋紝濡傛灉鎴愬姛榪斿洖true;鍚﹀垯榪斿洖false銆?/p>
銆銆2銆乬etInt("id")鎴杇etSting("name")錛岃繑鍥炲綋鍓嶆父鏍囦笅鏌愪釜瀛楁鐨勫箋?/p>
銆銆3銆侀噴鏀捐繛鎺ャ?/p>
銆銆cn.close();
銆銆涓鑸紝鍏堝叧闂璕esultSet錛岀劧鍚庡叧闂璖tatement(鎴栬匬reparedStatement);鏈鍚庡叧闂瑿onnection
銆銆鍙粴鍔ㄣ佹洿鏂扮殑璁板綍闆?/p>
銆銆1銆佸垱寤哄彲婊氬姩銆佹洿鏂扮殑Statement銆銆
Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY); |
銆銆2銆佸垱寤篜reparedStatement鏃舵寚瀹氬弬鏁般銆
PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 銆銆ResultSet.absolute(9000); |
1銆丼tatement 銆銆Statement sm = cn.createStatement(); 銆銆sm.addBatch(sql1); 銆銆sm.addBatch(sql2); 銆銆... 銆銆sm.executeBatch() |
銆銆2銆丳reparedStatement銆銆
PreparedStatement ps = cn.preparedStatement(sql); 銆銆{ 銆銆ps.setXXX(1,xxx); 銆銆... 銆銆ps.addBatch(); 銆銆} 銆銆ps.executeBatch(); |
銆銆浜嬪姟鐨勫鐞?/p>
銆銆1銆佸叧闂瑿onnection鐨勮嚜鍔ㄦ彁浜?/p>
銆銆cn.setAutoCommit(false);
2銆佹墽琛屼竴緋誨垪sql璇彞銆銆瑕佺偣錛氭墽琛屾瘡涓涓柊鐨剆ql璇彞鍓嶏紝涓婁竴嬈℃墽琛宻ql璇彞鐨凷tatement(鎴栬匬reparedStatemet)蹇呴』鍏坈lose銆銆
Statement sm ; 銆銆sm = cn.createStatement(insert into user...); 銆銆sm.executeUpdate(); 銆銆sm.close(); 銆銆sm = cn.createStatement("insert into corp...); 銆銆sm.executeUpdate(); 銆銆sm.close(); 銆銆3銆佹彁浜? 銆銆cn.commit(); |
銆銆cn.rollback();