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的更多相关文章

  1. JDBC(3)—ResultSet结果集

    简介:ResultSet:结果集.封装了使用JDBC进行查询的结果.Statement只能进行更新操作,所以使用ResultSet进行查询操作. 1.调用Statement对象的executeQuer ...

  2. 跟着刚哥学习Spring框架--JDBC(六)

    Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简 ...

  3. JDBC 学习笔记(八)—— ResultSet

    JDBC 使用 ResultSet 来封装 SQL 的查询结果,可以将 ResultSet 类比为数据库表的查询结果. 它拥有如下两个性质: 可滚动. 可更新. 这两个性质,是在创建 Statemen ...

  4. JDBC入门(2)--- ResultSet之滚动结果集

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

  5. 浅谈JDBC(一)

    一.JDBC技术引言 1.什么是JDBC技术 提供了一套接口规范,利用java代码进行数据库操作. 2.JDBC技术的核心思想 对于程序员来说,代码访问数据库分为三个步骤:1.通过数据库的账号密码.2 ...

  6. JDBC(一)之细说JDBC

    Properties info = new Properties();//要参考数据库文档 info.setProperty("user", "root"); ...

  7. JDBC(三)数据库连接池(DBCP、C3P0)

    前言 这段时间状态有一点浮躁,希望自己静下心来.还有特别多的东西还没有学懂.需要学习的东西非常的多,加油! 一.JDBC复习 Java Data Base Connectivity,java数据库连接 ...

  8. JDBC(MySQL)一周学习总结(一)

    一周过去了,我在这分享一下这一周来学习 JDBC 的知识,同时也希望可以帮到别人! 首先我们从获取 JDBC 连接开始 Driver(每个驱动程序类必须实现的接口) 获取数据库连接需要配置数据库连接信 ...

  9. JAVA基础-JDBC(一)

    一.JDBC的简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,由与各种数据库都有着一套自己的规范,JAVA对其操 ...

随机推荐

  1. Messenger和MVVM中的View Services

    在前面的文章IoC容器和MVVM中, 介绍了IoC容器如何在大量用户类中帮助创建和分配用户类的实例.本文将介绍IoC容器如何帮助应用程序解耦,比如那些根据MVVM模式开发的应用.此模 式广泛应用在基于 ...

  2. WPF 资源字典

    使用好处:存储需要被本地话的内容(错误消息字符串等,实现软编码),减少重复的代码,重用样式,实现多个项目之间的共享资源;修改一个地方所有引用的地方都会被修改,方便统一风格; 使用方法,归纳起来主要有下 ...

  3. System.Web.Mvc.HtmlHelper<dynamic>”没有名为“Partial”的适用方法,但似乎有一个具有该名称的扩展方法。扩展方法不能进行动态调度。请考虑强制转换动态参数,或调用该扩展方法但不使用扩展方法语法。

    MVC 调用分布式图,传了没有定义的参数,,参数写得不对

  4. Struts2 学习(二)

    一.Struts2 配置文件 1.配置多个配置文件 在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿. 为了避免struts.xm ...

  5. tp3.2开启允许跨域

    在入口文件<?PHP下加上 header('Access-Control-Allow-Origin:*');header("Access-Control-Allow-Headers: ...

  6. Java读取粘贴板内容

    package com.test.jvm.oom.design; import java.awt.Image; import java.awt.Toolkit; import java.awt.dat ...

  7. csharp: Converting chinese character to Unicode

    Function chinese2unicode(Str) Dim Str_one:Str_one = "" Dim Str_unicode:Str_unicode = " ...

  8. 原生js模拟jquery写法

    function $_custom(fun) { document.onreadystatechange = function() { if (document.readyState == " ...

  9. sql left join 字符串

    select * FROM table1 as t1 right join (select '1,2,3,4,5'  as t) as tt on t1.Id=tt.t select * FROM t ...

  10. C++ VS编译问题--VS下生成DLL,但没有生成Lib的解决办法

    如果项目生成了.dll文件,但是没有生成.lib文件,这是由于项目的设置错误,应作如下修改: 项目->属性->链接器->输入->模块定义文件,设置你的模块定义文件,默认为lib ...