JDBC 学习笔记(五)

七、JDBC2.0新特性:
1、Scrollability 结果集可滚动
滚动:可双向支持绝对与相对滚动,对结果集可进行多次迭代。
Con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,                              ResultSet.CONCUR_UPDATABLE);
TYPE_FORWARD_ONLY:该常量指示指针只能向前移动的 ResultSet 对象的类型。
TYPE_SCROLL_SENSITIVE:该常量指示可滚动并且通常受其他的更改影响的 ResultSet 对象的类型。CONCUR_UPDATABLE:该常量指示可以更新的 ResultSet 对象的并发模式。
绝对定位:boolean absolute(int row)将游标移动到指定位置。
相对定位:void afterLast()将游标向后移动一位。
          void beforeFirst()。将游标向前移动一位。
          boolean first()将游标移动到结果集最前
          boolean last()将游标移动到结果集末尾。
2、Updatability 结果集可更新。(主要应用于桌面应用)
更新:rs.updateString(“name”,”Tony”);
     rs.updateInt(1,”122323”);修改
      rs.deleteRow();删除
      rs.updateRow();
注:只有在必要的时候(如桌面应用)才用结果集更新数据库,因为使用结果集更新数据库效率低下。可更新结果集还要看数据库驱动程序是否支持,如Oracle就支持MySql不支持。并且只能针对一张表做结果集更新。而且不能有join操作。必须有主健,必须把非空没有默认值的字段查出。处理可更新结果级时不能用select *来执行查询语句,必须指出具体要查询的字段。
3、Batch updates 可批量更新。
将一组对数据库的更新操作发送到数据库统一执行(数据库支持并发执行操作),以提高效率。主要是通过减少数据(Sql语句或参数)在网络上传输的次数来节省时间。
        (1)对于Statement的批量更新处理:
             stm.addBatch(Sql);
           stm.addBatch(Sql);
           int[] results=stm.executeBatch();   
       (2)对于PreparedStatement的批量跟新处理
               pstm.setInt(1,11);pstm.setString(2,”haha”);……..
             pstm.addBatch()
             pstm.setInt(1,12);pstm.setString(2,”gaga”);……..
             pstm.addBatch()
             int[] results=stm.executeBatch();   
        注:int[] 中每一个数表示该Sql语句影响到的记录条数。
         PreparedStatement的更新操作比Statement的更新操作多了一个设置参数的过程。


你可能感兴趣的:(oracle,sql,mysql,jdbc,网络应用)