zoukankan      html  css  js  c++  java
  • day17 13.滚动结果集介绍

    滚动

    一般结果集只能是向下的,不是滚动的,你要是想让它滚动你得设置才行。


    类名或者接口里面有静态的可以。接口里面的属性全部都是public static final,类名/接口名.是属性,这些都是常量。


    结果集是你查询到的结果,数据库不是给你一个人玩的吧。在高并发访问的时候很容易出现一些问题。就是你在查的时候可能别人改了。问题:你查的时候别人改了,那就是你查到的是改了的还是查到的是没改了的呢?你得到改还是不改的。


    滚动结果集怎么创建?通过设置参数来创建滚动结果集。对于一些特殊需求滚动结果集绝对是有用的。分页:把数据库的某些记录拿出来,数据库里面有100条记录,全显示出来的话一页显示100条,一页显示20条5页就OK了。拿出第3页的数据:把absolute定位到第3页的开始的位置,往下循环20次就OK了,这就是滚动结果集。这个方式是可以做分页的,但是后面不会这么做。这是通用的方案,根本就不需要考虑什么数据库,只要是java支持的数据库就行,因为使用了JDBC。JDBC是跨数据库的。但是这种方案性能太低,我们后面讲分页用的是数据库本身提供的一些分页的函数,它的性能高一些。要是有一天要做一个跨数据库的分页可以这么做。


    package cn.itcast.jdbc;
    
    
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    
    import cn.itcast.utils.JdbcUtils;
    
    //后面开发滚动结果集用的不多,实际开发用的也不多
    public class JdbcDemo7 {
       public static void main(String[] args) throws SQLException {
           //1.得到一个Connection
           Connection con= JdbcUtils.getConnectin();
           //2.得到一个执行sql语句Statement
           Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//这就代表了一个滚动的可以更新的结果集
           
           //3.执行sql,得到结果集
          ResultSet rs = st.executeQuery("select * from user");
          
          //滚动结果集是可以向上向下跑,还可以绝对定位
          
          //4.定位
          
          //游标默认是在第一行上面,那你向上没了。所以是不行的
          //你得让这游标往下走才能向上嘛。
          rs.absolute(3);//3不是代表id值,代表的是一个绝对的物理行号
          //System.out.println(rs.getInt("id") + "   " + rs.getString("username") + "");
         
          //rs.afterLast();//afterLast就是直接达到结果集的最后面 最后一行的下面
          
          
         /* while(rs.previous()){
              System.out.println(rs.getInt("id") + "   " + rs.getString("username") + "");
          }*/
          
          rs.updateString("password","456");//对应哪个列进行修改
          rs.updateRow();
          //5.关闭
          rs.close();
          st.close();
          con.close();
       }
    }
  • 相关阅读:
    [转载]微软4月13日发布Silverlight 4
    关于文件流Seek以及Read操作的一点不满
    团队基础生成自动化流程之最佳实践(IV) 重写团队基础默认生成流程
    谁是你的下一行CODE
    团队基础生成自动化流程之最佳实践总论(II) – 程序集版本信息
    微软Visual Studio 2010 第三集:幸福要敏捷
    团队基础生成自动化流程之最佳实践(VI) 系统模块化条件编译
    团队基础生成自动化流程之最佳实践(V) 使用Desktop Build
    VS2010 "内存不足" 错误补丁
    彩虹天堂
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6639634.html
Copyright © 2011-2022 走看看