JDBC(3)ResultSet
ResultSet
在执行查询(select)时候使用
这是一个结果对象,该对象包含结果的方法但指针定位到一行时
调用Statement 对象的 executeQuery(sql)可以得到结果集
可以通过调用getXxx(index) 或getXxx(columnName)获取每一行的值,从1开始
注意使用之后要关闭
方法:
->void close() throws SQLException:释放ResultSet方法
->boolean absolute(int row):将结果集的记录指针移动到第row行。
->void beforeFirst():将ResultSet的记录指针定位到首行之前。
->boolean first():将指针移到首行。
->boolean next():将指针记录定位到下一行。
->boolean last():将指针移到最后一行。
->boolean afterLast():将ResultSet的记录定位到最后一行。
以上介绍的方法中经常使用到的是:next()和close()
其他的使用的时候,可以参考介绍的文档,这里主要测试是常用的
@Test
public void ResultSetMethod() {
// 获取 id = 4 的 student 数据表的记录,并打印
Connection conn = null;
Statement statement = null;
ResultSet rs = null; try {
// 1. 获取 Connection
conn = getConnection();
// 2.获取Statement
statement = (Statement) conn.createStatement();
// 3.准备sql
String sql = "SELECT id, sname, sclass from student where id = 4";
// 4.执行查询
rs = statement.executeQuery(sql);
// 5.处理ResultSet
if (rs.next()) {
int id = rs.getInt();// 获取数据库的id属性
String name = rs.getString();// 获取数据库的 sname属性
int sclass = rs.getInt();// 获取数据库的sclass属性 System.out.println(id);
System.out.println(name);
System.out.println(sclass);
}
// 6.关闭
} catch (Exception e) {
e.printStackTrace();
} finally {
        if (rs != null) {
			          try {
				            rs.close();
			        } catch (SQLException e) {
				            e.printStackTrace();
			          }
		        }
		        if (statement != null) {
			          try {
				            statement.close();
			        } catch (SQLException e) {
				          e.printStackTrace();
			        }
		        }
		        if (conn != null) {
			          try {
				            conn.close();
			        } catch (SQLException e) {
				            e.printStackTrace();
			          }
		        }
}
}
对于executeQuery(sql)主要是执行查询操作
在世用getXxxx的时候,是根据我们查询到的列的属性进行设置分配的(可以理解数据库的每个数据表的列)
在程序的最后,一定要记得关闭释放资源
关闭的流程:由里到外
所谓关闭流程就是:先获取的资源后关闭,后获取的资源先关闭
JDBC(3)ResultSet的更多相关文章
- JDBC(3)—ResultSet结果集
		
简介:ResultSet:结果集.封装了使用JDBC进行查询的结果.Statement只能进行更新操作,所以使用ResultSet进行查询操作. 1.调用Statement对象的executeQuer ...
 - 跟着刚哥学习Spring框架--JDBC(六)
		
Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简 ...
 - JDBC 学习笔记(八)—— ResultSet
		
JDBC 使用 ResultSet 来封装 SQL 的查询结果,可以将 ResultSet 类比为数据库表的查询结果. 它拥有如下两个性质: 可滚动. 可更新. 这两个性质,是在创建 Statemen ...
 - JDBC入门(2)--- ResultSet之滚动结果集
		
一.ResultSet之滚动结果集 ResultSet表示结果集,它是一个二维的表格.ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标: void befo ...
 - 浅谈JDBC(一)
		
一.JDBC技术引言 1.什么是JDBC技术 提供了一套接口规范,利用java代码进行数据库操作. 2.JDBC技术的核心思想 对于程序员来说,代码访问数据库分为三个步骤:1.通过数据库的账号密码.2 ...
 - JDBC(一)之细说JDBC
		
Properties info = new Properties();//要参考数据库文档 info.setProperty("user", "root"); ...
 - JDBC(三)数据库连接池(DBCP、C3P0)
		
前言 这段时间状态有一点浮躁,希望自己静下心来.还有特别多的东西还没有学懂.需要学习的东西非常的多,加油! 一.JDBC复习 Java Data Base Connectivity,java数据库连接 ...
 - JDBC(MySQL)一周学习总结(一)
		
一周过去了,我在这分享一下这一周来学习 JDBC 的知识,同时也希望可以帮到别人! 首先我们从获取 JDBC 连接开始 Driver(每个驱动程序类必须实现的接口) 获取数据库连接需要配置数据库连接信 ...
 - JAVA基础-JDBC(一)
		
一.JDBC的简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,由与各种数据库都有着一套自己的规范,JAVA对其操 ...
 
随机推荐
- SailingEase .NET Resources Tool (.NET 多语言资源编辑器)转
			
转自:http://www.cnblogs.com/sheng_chao/p/5958846.html 软件下载链接 痛点: 通常我们为了让软件支持多语言,会使用 .NET 自带的资源文件来存储不同的 ...
 - 删除trigger 禁用触发器 启用触发器 查看触发器
			
删除trigger drop trigger 触发器名 on 在那个表上 禁用触发器 Alter Table 表名 disable trigger 触发器名 启用触发器 Alter Table 表名 ...
 - Azure Java Libraries 入门
			
本指南演示了以下 Azure Java Libraries 的用法,包括设置认证.创建并使用 Azure 存储.创建并使用 Azure SQL 数据库.部署虚拟机.从 GitHub 部署 Azure ...
 - 实例化geoserver wms服务
			
var vectorWmsJHdataLayer = new ol.layer.Tile({ source: new ol.source.TileWMS({ //地址 url:'http://loca ...
 - iOS之nib、xib及storyboard的区别及storyboard的加载过程
			
先讲述下nib, nib是3.0版本以前的产物,在终端下我们可以看到,NIB其实是一个文件夹,里面有可执行的二进制文件: 区分xib和storyboard的区别? 不同点: 1> 无论nib也好 ...
 - android 动态库死机调试方法 .
			
原地址:http://blog.csdn.net/andyhuabing/article/details/7074979 这两种方法都不是我发明了,都是网上一些高手公共出来的调试方法,无奈找不到出处的 ...
 - Unknown entity XXX
			
在jdbc中使用session保存实体的时候,保存出错,Unknown entity XXX 一种解决方案为 http://ningnian169.blog.51cto.com/2417825/450 ...
 - 洛谷11月月赛题解(A-C)
			
心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了.. A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告 ...
 - CSS背景相关属性
			
CSS样式可以精确控制HTML元素的背景.边框的样式和外观,也可以精确控制边框的线型和形状.其中,背景相关属性可以用于控制背景色.背景图片等属性.在控制背景图片的同时还可以控制背景图片的排列方式. 常 ...
 - iview table数据排序不正确
			
在使用iview的table组件时,要做排序 代码: sortable: true,sortMethod: (a, b, type) => { if (type === 'desc') { re ...