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

2023年 8月 26日 58.8k 0

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

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

在整个结果集中移动指针

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 {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String mysqlUrl = "jdbc:mysql://localhost/TestDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");

//Creating a Statement object
Statement stmt = con.createStatement();
//Retrieving the data
ResultSet rs = stmt.executeQuery("select * from Dataset");

System.out.println("Contents of the table");
while(rs.next()) {
System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
System.out.print("Sale: "+rs.getString("Unit_Sale"));
System.out.println("");
}
}
}

登录后复制

输出

Connection established......
Contents of the table
Brand: Iphone, Sale: 3000
Brand: Samsung, Sale: 4000
Brand: Nokia, Sale: 5000
Brand: Vivo, Sale: 1500
Brand: Oppo, Sale: 900
Brand: MI, Sale: 6400
Brand: MotoG, Sale: 4360
Brand: Lenovo, Sale: 4100
Brand: RedMi, Sale: 4000
Brand: MotoG, Sale: 4360
Brand: OnePlus, Sale: 6334

登录后复制

以上就是JDBC 中的结果是什么?如何从 ResultSet 对象中检索数据?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论