PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.executeUpdate(); ResultSet rs = ps.getGeneratedKeys(); rs.getInt(1); 批处理操作能显著提升大规模数据的增删改速度。 PreparedStatement.addBatch(); PreparedStatement.executeBatch(); 使用可滚动的结果集可以更灵活地操作数据,如通过设置ResultSet的类型为可滚动和更新,可以在结果集中自由导航和修改数据行。 Statement st = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = st.executeQuery(sql); rs.beforeFirst(); rs.afterLast(); rs.first(); rs.isFirst(); rs.last(); rs.isLast(); rs.absolute(9); rs.moveToInsertRow();