MSSQL 查詢 → Oracle 批量插入,演示基礎 JDBC 流程與資源關閉模式。
防止 SQL 注入,類型安全,支援批量預編譯優化。
{call p(?, ?, ?, ?)}
cstmt.registerOutParameter(3, Types.INTEGER);
cstmt.registerOutParameter(4, Types.INTEGER);
Statement.addBatch:靜態 SQL 批量PreparedStatement.addBatch:參數化批量(推薦)conn.setAutoCommit(false);
try { ... stmt.executeBatch(); conn.commit(); }
catch (SQLException e) { conn.rollback(); throw e; }
finally { conn.setAutoCommit(true); }
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs.last(); rs.previous(); rs.absolute(6); // 隨機定位
ResultSet rs = stmt.executeQuery("SELECT * FROM emp2",
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs.updateString("ename", "AAAA"); rs.updateRow(); // 更新
rs.moveToInsertRow(); rs.updateInt(1, 9999); rs.insertRow(); // 插入
rs.absolute(5); rs.deleteRow(); // 刪除
PreparedStatement + 批量提交