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对其操 ...
随机推荐
- dns-prefetch使用整理
网站投放百度.谷歌联盟广告,百度分享.推荐等,由于不同的DNS请求,会增加了网页加载时间,用户等待时间过长会造成跳出率增高,对SEO有一定影响. DNS解析速度是造成页面延迟加载的最大的原因. DNS ...
- git版本控制的使用
特别说明:本文所有知识笔记是学习“表严肃”同学的git课程记录所得. 前辈个人网站地址:http://biaoyansu.com 特此感谢前辈! 一.git是版本控制利器 二.本地创建仓库 1.进入新 ...
- apk下载安装,存储的位置,路径
PackageInstaller 原理简述 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作.APK是Android Package的缩写,即An ...
- Codeforces Round #413 B. T-shirt buying
B. T-shirt buying time limit per test 3 seconds memory limit per test 256 megabytes A new pack ...
- 一、flex布局教程:语法篇
本文转自阮一峰大师的教程,此处做记录,方面后面自己学习使用~ 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- 第四次作业——第一次scrum冲刺
1.小组第一次冲刺任务 对Github上的HUSTOJ开源项目进行Fork,搭建基本环境 2.用户需求 (1)部分基本功能显示在首页 (2)能够提交题目并判题,并对自己所提交的题目正确性进行反馈,能够 ...
- arm汇编学习(四)
一.android jni实现1.静态实现jni:先由Java得到本地方法的声明,然后再通过JNI实现该声明方法.2.动态实现jni:先通过JNI重载JNI_OnLoad()实现本地方法,然后直接在J ...
- idea引入依赖包报错
今天在更新项目的时候,maven依赖的一个服务一直报错.查了后发现原来是因为缺少依赖包.但是依赖包明明在我本地啊. 又重新下载,依然如故... 搞了半天,发现自己的依赖包类状态都是不可用的.如下图所示 ...
- Python unittest模块心得(二)
基础概念介绍请参看: http://www.cnblogs.com/frost-hit/p/8295818.html 组织测试用例 unittest.TestSuite(tests=()): 除了使用 ...
- 如何有效防止API的重放攻击(转自阿里云)
API重放攻击(Replay Attacks)又称重播攻击.回放攻击,这种攻击会不断恶意或欺诈性地重复一个有效的API请求.攻击者利用网络监听或者其他方式盗取API请求,进行一定的处理后,再把它重新发 ...