JDBC入门(2)--- ResultSet之滚动结果集
一、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类型的数据
JDBC入门(2)--- ResultSet之滚动结果集的更多相关文章
- Jdbc入门
JDBC入门 l 导jar包:驱动! l 加载驱动类:Class.forName(“类名”); l 给出url.username.password,其中url背下来! l 使用DriverMa ...
- day17(JDBC入门&jdbcUtils工具介绍)
day17 JDBC整体思维导图 JDBC入门 导jar包:驱动! 加载驱动类:Class.forName("类名"); 给出url.username.password,其中url ...
- JDBC 入门
1. JDBC 简介 JDBC (Java DataBase Connectivity) 就是 Java 数据库连接, 说白了就是用 Java 语言向 数据库发送 SQL 语句. JDBC 其实是访问 ...
- JAVA基础知识之JDBC——ResultSet的滚动和更新(statement的额外参数)
ResultSet不仅可以内存中的一张二维表一样保存statement执行SQL的结果集,还能通过结果集修改DB的数据.ResultSetMetaData则可以用来获得ResultSet对象的相关信息 ...
- JAVA企业级开发-jdbc入门(09)
一. jdbc介绍 JDBC全称为:Java DataBase Connectivity(java数据库连接). SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JD ...
- day17 13.滚动结果集介绍
滚动 一般结果集只能是向下的,不是滚动的,你要是想让它滚动你得设置才行. 类名或者接口里面有静态的可以.接口里面的属性全部都是public static final,类名/接口名.是属性,这些都是常量 ...
- 【JDBC】JDBC入门
JDBC的入门 搭建开发环境 编写程序,在程序中加载数据库驱动 建立连接 创建用于向数据库发送SQL的Statement对象 从代表结果集的ResultSet中取出数据 断开与数据库的连接,并释放相关 ...
- Java jdbc入门
1 jdbc入门 1.1 之前操作数据 1)通过mysql的客户端工具,登录数据库服务器 (mysql -u root -p 密码) 2)编写sql语句 3)发送sql语句到数据库服务器执行 1.2 ...
- jdbc调用存储过程获取多个结果集
jdbc调用存储过程获取多个结果集 2017年07月26日 21:20:22 Kenny-Liu 阅读数:1486 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
随机推荐
- Lucene7.4学习和简单使用
简述: 前面从新回顾学习了Solr,正好也借此机会顺便学习一下Lucene. 一.什么是Lucene? 全文检索的一个实现方式,也是非结构化数据查询的方法.应用场景:在数据量大,数据结构不固定的时候, ...
- MySQL , MHA , Haproxy 配置
1. 基本架构 2. 读端口影射 3. 写端口影射 进行一个Health Check MHA Manager对Master节点MySQL 进行存活监控 读FailOver 1 读FailOver 2 ...
- 对 ArrayList 进行分页.
/** * 测试分页 */ @Test public void testPage() { int bulkSize = 2; List<Integer> dataList = new Ar ...
- 【性能测试】:LR中解决接口请求中包含中文字符,服务器不识别的问题
在LR中,直接写的接口请求,如果请求字段包含中文字段,服务器会不识别,这个时候就要用到lr_convert_string_encoding这个函数: 具体用法: lr_convert_string_e ...
- springcloud(十)-Zuul微服务网关
为什么要使用微服务网关 前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服 ...
- Unity3D实现随机播放背景音频
1.先在第一人称下新建空白物体,命名“audio” 2.在audio中加入Audio Source 3.在第一人称组件里添加Audio Liistener和Audio脚本 4.脚本中添加代码 usin ...
- Cpython 支持的线程
因为Python解释器帮你自动定期进行内存回收,你可以理解为python解释器里有一个独立的线程,每过一段时间它起wake up做一次全局轮询看看哪些内存数据是可以被清空的,此时你自己的程序 里的线程 ...
- Neo4j使用简单例子(转)
Neo4j Versions Most of the examples on this page are written with Neo4j 2.0 in mind, so they skip th ...
- 没事用html5 canvas画一个仪表盘自用,自适应的哦
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用大白菜安装Windows Server 2012 r2
依照往常安装win10的习惯操作,结果发现无GUI界面.重装时注意到了两个问题: 1. 启动时有两个U盘启动选项,请选择无UEFI的模式启动: 2. 一键安装系统时,一定要点一下系统文件来源的地方,因 ...