MySQL JDBC中的结果(Result)是什么?如何从ResultSet对象中检索数据?

MySQL JDBC中的结果(Result)是什么?如何从ResultSet对象中检索数据?

JDBC中的 ResultSet 接口表示由SQL查询生成的表格数据。 它有一个指针指向当前行。最初,该指针位于第一行之前。

MySQL JDBC中的结果(Result)是什么?如何从ResultSet对象中检索数据?

阅读更多:MySQL 教程

在结果集中移动指针

ResultSet 接口的 next() 方法将当前(ResultSet)对象的指针从其当前位置移动到下一行。 此方法返回一个布尔值,如果其当前位置的下一行不存在,则返回false,否则返回true。 因此,在while循环中使用此方法,您可以迭代结果集的内容。

while(rs.next()){
}

获取每个记录的列值:

ResultSet接口(还)提供了getter方法(getXXX())来检索行中每个列的值。 每个getter方法都有两个变量:

  • getXXX(int columnIndex): 这接受一个整数值,表示列的索引并返回它的值。

  • getXXX(String columnLabel ): 这接受一个表示列名称的字符串值,并返回其值。

根据表格中列的数据类型,您需要使用相应的getter方法。

示例

假设我们有一个名为dataset的表,其内容如下所示:

+--------------+-----------+
| mobile_brand | unit_sale |
+--------------+-----------+
| Iphone       |      3000 |
| Samsung      |      4000 |
| Nokia        |      5000 |
| Vivo         |      1500 |
| Oppo         |       900 |
| MI           |      6400 |
| MotoG        |      4360 |
| Lenovo       |      4100 |
| RedMi        |      4000 |
| MotoG        |      4360 |
| OnePlus      |      6334 |
+--------------+-----------+

示例

以下示例检索 Dataset 表的所有记录并打印结果:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class RetrievingData {
   public static void main(String args[]) throws Exception {
      // 注册驱动程序
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //获取连接
      String mysqlUrl = "jdbc:mysql://localhost/TestDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("连接已建立......");

      // 创建Statement对象
      Statement stmt = con.createStatement();
      // 检索单个数据
      ResultSet rs = stmt.executeQuery("select * from Dataset");

      System.out.println("表的内容");
      while(rs.next()) {
         System.out.print("品牌: "+rs.getString("Mobile_Brand")+", ");
         System.out.print("销售: "+rs.getString("Unit_Sale"));
         System.out.println("");
      }
   }
}

输出结果

连接已建立......
表的内容
品牌:Iphone, 销售:3000
品牌:Samsung,销售:4000
品牌:Nokia,销售:5000
品牌:Vivo,销售:1500
品牌:Oppo,销售:900
品牌:MI,销售:6400
品牌:MotoG,销售:4360
品牌:Lenovo,销售:4100
品牌:RedMi,销售:4000
品牌:MotoG,销售:4360
品牌:OnePlus,销售:6334

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程