一、ResultSet之滚动结果集 

 ResultSet表示结果集,它是一个二维的表格。ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标:

  • void beforeFirst():把光标放到第一行的前面,这也是光标默认的位置;
  • void afterLast():把光标放到最后一行的后面;
  • boolean first(): 把光标放到第一行的位置上,返回值表示调控光标是否成功;
  • boolean last():把光标放到最后一行的位置上;
  • boolean isBeforeFirst():当前光标位置是否在第一行前面
  • boolean isAfterLast():当前光标位置是否在最后一行后面
  • boolean isFirst():当前光标位置是否在第一行上
  • boolean isLast():当前光标位置是否在最后一行上
  • boolean previous(): 把光标向上挪一行
  • boolean next(): 把光标向下挪一行
  • boolean relative(int row):相对位移,当row为正数时,表示向下移动row行,为负数时表示向上移动row行。
  • boolean absolute(int row):绝对位移,把光标移动到指定的行上;
  • int getRow():返回当前光标所有行。

上面方法分为两类,一类用来判断游标位置的,另一类是用来移动游标的。如果结果集是不可滚动的,那么只能使用next()方法来移动游标,而beforeFirst()、afterLast()、first()、last()、previous()、relative()方法都不能使用。

获取结果集元数据:

  • 得到元数据:rs.getMetaData(),返回值为ResultSetMetaData;
  • 获取结果集列数:int getColumnCount();
  • 获取指定列的列名:String getColumnName(int collindex);

结果集特性:

  • 是否可滚动
  • 是否敏感
  • 是否可更新

Statement createStatement();//默认不滚动、不敏感、不可更新。

  结果集是否支持滚动,要从Conntection类的createStatement()方法说起。也就是说创建的Statement决定了使用Statement创建的ResultSet是否支持滚动。

  Statement createStatement(int resultSetType,int resultSetConcurrency)

  • 第一个参数的可选值:

    • ResultSet.TYPE_FORWARD_ONLY: 不滚动结果集;(默认值)
    • ResultSet.TYPE_SCROLL INSENSITIVE: 滚动结果集,但结果集数据不会再跟随数据库而变化;
    • ResultSet.TYPE_SCROLL_SENSITIVE: 滚动结果集,但结果集数据不会再跟随数据库而变化;(无数据驱动支持)
  • 第二个参数的可选值:
    • CONCUR_READ_ONLY:结果集是只读的,不能通过修改结果集而反向影响数据库;
    • CONCUR_UPDATABLE:结果集是可更新的,对结果集的更新可以反向影响数据库。

二、ResultSet之获取列数据

  可以通过next()方法使ResultSet的游标向下移动,当游标移动到你需要的行时,就需要获取该行的数据,ResultSet提供了一系列获取列数据的方法:

  • String getString (int columnIndex):获取指定列的String类型数据
  • int getInt (int columnIndex):获取指定列的int类型数据
  • double getDouble (int columnIndex):获取指定列的double类型数据
  • boolean getBoolean (int columnIndex):获取指定列的boolean类型数据
  • Object getObject (int columnIndex):获取指定列的Object类型的数据
  • String getString (int columnName):获取名为columnName的列的String类型数据
  • int getInt (int columnName):获取名为columnName的列的int类型数据
  • double getDouble (int columnName):获取名为columnName的列的double类型数据
  • boolean getBoolean (int columnName):获取名为columnName的列的boolean类型数据
  • Object getObject (int columnName):获取名为columnName的列的Object类型的数据

最新文章

  1. Navisworks 2014 Api 简单的使用
  2. Windows Phone 三、样式和资源
  3. Android 自定义表格显示数据
  4. node系列:琐碎备忘
  5. 通过IP连接网上打印机(转载)
  6. Android:开发环境
  7. UVALive 4222 Dance 模拟题
  8. Rstudio编辑界面美化设置
  9. A题笔记(4)
  10. 如何识别SQL Server中的IO瓶颈
  11. Script:SQL调优健康检查脚本
  12. fiddler 路由设置
  13. FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
  14. WEB跨域资源共享:Cross-origin Resource Sharing(CORS)
  15. Redis 学习笔记3:Jedis 连接虚拟机下的Redis 服务
  16. 启动Cognos时报0106错误
  17. LOJ 2551 「JSOI2018」列队——主席树+二分
  18. angularJs 2-quickstart学习记录
  19. App性能测试之启动时间(安卓)手动+脚本
  20. Python之时间(time)模块

热门文章

  1. scrapy之 downloader middleware
  2. RDD转换成为DataFrame
  3. IDEA External libraries 不显示Maven中引入的repository
  4. Service Discovery protocol(SDP)
  5. [转] HBase异常:hbase-default.xml file seems to be for an old version of HBase
  6. php 使用 rabbitmq
  7. Android AES加密工具类实现(基础回顾)
  8. 一次邮件发送协议SMTP问题排查
  9. java.lang.NoClassDefFoundError: org/springframework/ui/jasperreports/JasperReportsUtils原因
  10. ThreadPoolExecutor 杂记