• 简介:ResultSet:结果集。封装了使用JDBC进行查询的结果。Statement只能进行更新操作,所以使用ResultSet进行查询操作。

    • 1.调用Statement对象的executeQuery(sql),可以得到结果集。
    • 2.ResultSet返回的实际上就是一张数据表,有一个指针指向第一个的前面,可以调用next(),检查下一行是否有效。

      *若有效返回true,且指针下移。
    • 3.每当指针移到一行时,可以通过调用getXxx(index)、getXxx(columnName)、获取每一列的值,例如:getInt(1)

      *getString(“name”)。
    • 4.ResultSet()也需要关闭。
  • 功能:获取id为6的customer数据表的记录,并打印。
  • 步骤:

    • 1.获取Connection连接
    • 2.获取Statement对象
    • 3.准备SQL语句
    • 4.执行查询,使用executeQuery(sql)方法
    • 5.处理ResultSet
    • 6.关闭数据库连接
  • 实例:

public class Resultset_3 {

    @Test
public void testResultSet(){
Connection conn = null;
Statement state = null;
ResultSet rs = null;
try {
//1.获取连接
conn = TestTools.getConnection();
//2.获取Statement
state = conn.createStatement();
//3.准备SQL语句
//查询一条记录
String sql = "select id, name, age, birth,address " +
"from customers where id = 6 ";
//查询所有记录
String sql1 = "select id, name, age, birth,address " +
"from customers";
//4.执行查询
rs = state.executeQuery(sql1);
System.out.println(rs);
//5.处理ResultSet
//if(rs.next()){
while(rs.next()){
int id = rs.getInt(1);//参数1表示:id在第一列
String name = rs.getString(2);//参数2表示:name在第二列
//String name = rs.getString("name");//参数name表示:别名
String age = rs.getString(3);//参数3表示:age在第三列
Date birth = rs.getDate(4);//参数4表示:birth在第四列
String address = rs.getString(5);//参数5表示:aadress在第五列
//输出查询结果
System.out.println(id);
System.out.println(name);
System.out.println(age);
System.out.println(birth);
System.out.println(address);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}finally{
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(state != null){
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}

JDBC(3)—ResultSet结果集的更多相关文章

  1. 获取jdbc中resultSet结果集的大小

    当我们执行完一条Sql语句,获取到一个 ResultSet 对象后,有时我们需要立即知道到底返回了多少个元素,但是 ResultSet 并没有提供一个 size() 方法 or length 的属性, ...

  2. JDBC连接数据以及详细的ResultSet结果集解释

    一.数据库连接 (前面为jdbc的其他参数,文章下部分为ResultSet详解) ResultSet rs = st.executeQuery(sqlStr) 1. java的sql框架支持多种数据库 ...

  3. JDBC——ResultSet结果集对象

    ResultSet结果集对象,封装结果.它是怎么做到封装结果的呢? 游标,类似指针索引最初指在“列名”上,要取到数据就需要让游标向下移动移动后就指向了第一行数据,然后通过一些方法把第一行的每一列都取出 ...

  4. 使用ResultSet结果集查询数据

    直接上下代码: package com.learn.jdbc.chap05; import java.sql.Connection; import java.sql.PreparedStatement ...

  5. JDBC05 ResultSet结果集

    ResultSet结果集 -Statement执行SQL语句时返回ResultSet结果集 -ResultSet提供的检索不同类型字段的方法,常用的有: getString():获得在数据库里是var ...

  6. jdbc 05: 查询结果集

    jdbc连接mysql,查询结果集 package com.examples.jdbc.o5_结果集查询; import java.sql.*; import java.util.ResourceBu ...

  7. 将JDBC ResultSet结果集变成List

    private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>() ...

  8. 将JDBC ResultSet结果集转成List

    private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>() ...

  9. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. CentOS 6.5下的lamp环境rsyslog+MySQL+loganalyzer实现日志集中分析管理

    前言 rsyslog系统日志,在CentOS5上叫syslog,而在CentOS6上叫rsyslog,是增强版的syslog,CentOS5上的配置文件在/etc/syslog.conf下,而Cent ...

  2. ajax返回json对象的两种写法

    1. 前言 dataType: 要求为String类型的参数,预期服务器返回的数据类型.如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并 ...

  3. ubuntu系统下Python虚拟环境的安装和使用

    ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...

  4. Linux查看文件命令

    linux查看日志文件内容命令有 cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写 nl 显示的时候,顺道输出行号! more 一页一页的显示文件内 ...

  5. js创建、写入、读取文件(转)

    下面是对此知识的系统介绍(转自互联网): Javascript 是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和 ...

  6. stl 常用代码

    CString类型的replace ; while((pos = it->m_strFile.find(_T("%UC_INSTALL_ROOT%\\"), pos)) != ...

  7. hdu 1072 有炸弹的迷宫 (DFS)

    题意:在n×m的地图上,0表示墙,1表示空地,2表示人,3表示目的地,4表示有定时炸弹重启器.定时炸弹的时间是6,人走一步所需要的时间是1.每次可以上.下.左.右移动一格.当人走到4时如果炸弹的时间不 ...

  8. SPFILEOPENBANKDB.ORA 手动编辑产生问题

    因为最近启动后发现经常内存高占用,一个ORACLE实例占用超过7G内存,两个就15G,卡的让人坐立不安.于是百度了一下,使用下面的命令将sga_max_size从7G修改为200M show para ...

  9. BZOJ1966 [Ahoi2005]VIRUS 病毒检测 动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1966 题意概括 现在有一些串和一个病毒模板.让你统计非病毒串的总数.串个数<=500. 串由 ...

  10. 【Java】 剑指offer(32) 从上往下打印二叉树

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 (一)从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺 ...