銆銆1銆乯ava鏁版嵁搴?/font>鎿嶄綔鍩烘湰嫻佺▼
銆銆2銆佸嚑涓父鐢ㄧ殑閲嶈鎶宸э細
銆銆·鍙粴鍔ㄣ佹洿鏂扮殑璁板綍闆?/p>
銆銆·鎵歸噺鏇存柊
銆銆·浜嬪姟澶勭悊
銆銆java鏁版嵁搴?/font>鎿嶄綔鍩烘湰嫻佺▼錛氬彇寰?a target="_blank">鏁版嵁搴?/font>榪炴帴 - 鎵цsql璇彞 - 澶勭悊鎵ц緇撴灉 - 閲婃斁鏁版嵁搴?/font>榪炴帴
銆銆1銆佸彇寰?a target="_blank">鏁版嵁搴?/font>榪炴帴
銆銆1)鐢―riverManager鍙?a target="_blank">鏁版嵁搴?/font>榪炴帴
銆銆渚嬪瓙
銆銆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();
銆銆澶氱敤浜巎sp涓?/p>
銆銆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>
銆銆ResultSet鐨勬柟娉?/p>
銆銆1銆乶ext()錛屽皢娓告爣寰鍚庣Щ鍔ㄤ竴琛岋紝濡傛灉鎴愬姛榪斿洖true;鍚﹀垯榪斿洖false
銆銆2銆乬etInt("id")鎴杇etSting("name")錛岃繑鍥炲綋鍓嶆父鏍囦笅鏌愪釜瀛楁鐨勫?/p>
銆銆4銆侀噴鏀捐繛鎺?/strong>
銆銆cn.close();
銆銆涓鑸紝鍏堝叧闂璕esultSet錛岀劧鍚庡叧闂璖tatement(鎴栬匬reparedStatement);鏈鍚庡叧闂瑿onnection
銆銆鍙粴鍔ㄣ佹洿鏂扮殑璁板綍闆?/p>
銆銆1銆佸垱寤哄彲婊氬姩銆佹洿鏂扮殑Statement
銆銆Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);
銆銆璇tatement鍙栧緱鐨凴esultSet灝辨槸鍙粴鍔ㄧ殑
銆銆2銆佸垱寤篜reparedStatement鏃舵寚瀹氬弬鏁?/p>
銆銆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()
銆銆涓涓猄tatement瀵硅薄錛屽彲浠ユ墽琛屽涓猻ql璇彞浠ュ悗錛屾壒閲忔洿鏂般傝繖澶氫釜璇彞鍙互鏄痙elete銆乽pdate銆乮nsert絳夋垨鍏兼湁
銆銆2銆丳reparedStatement
銆銆PreparedStatement ps = cn.preparedStatement(sql);
銆銆{
銆銆ps.setXXX(1,xxx);
銆銆...
銆銆ps.addBatch();
銆銆}
銆銆ps.executeBatch();
銆銆涓涓狿reparedStatement錛屽彲浠ユ妸涓涓猻ql璇彞錛屽彉鎹㈠弬鏁板嬈℃墽琛岋紝涓嬈℃洿鏂般?/p>
銆銆·浜嬪姟鐨勫鐞?/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銆佹彁浜?/p>
銆銆cn.commit();
銆銆4銆佸鏋滃彂鐢熷紓甯革紝閭d箞鍥炴粴
銆銆cn.rollback();