Java如何从ResultSet中检索值?
这是有关如何ResultSet通过在数据库中执行SQL查询来从返回的数据中读取数据的另一个示例。
我们首先创建与数据库的连接。创建一个PreparedStatement以执行查询以从books表中获取一些数据。
执行完之后,PreparedStatement我们将有一个ResultSet对象。要迭代中的所有数据,ResultSet我们next()在while循环中调用方法。当没有更多记录可读取该方法时,返回false。该ResultSet对象还提供了一些读取字段值的方法,该方法的名称与表的每个字段上存储的数据类型相对应。
读取使用的数据ResultSet的方法(例如getString(),getInt(),getFloat(),等),我们可以使用列名或字段的列索引中的SQL语句读取。
让我们看下面的完整代码片段:
package org.nhooo.example.jdbc; import java.sql.*; public class ResultSetExample { public static void main(String[] args) throws Exception { String url = "jdbc:mysql://localhost/nhooo"; String username = "root"; String password = ""; try (Connection connection = DriverManager.getConnection(url, username, password)) { String query = "SELECT isbn, title, published_year, price " + "FROM books"; PreparedStatement ps = connection.prepareStatement(query); ResultSet rs = ps.executeQuery(); while (rs.next()) { //使用列名读取值 String isbn = rs.getString("isbn"); String title = rs.getString("title"); int publishedYear = rs.getInt("published_year"); //使用列索引读取值 double price = rs.getDouble(4); System.out.printf("%s, %s, %d, %.2f\n", isbn, title, publishedYear, price); } } } }
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.17</version> </dependency>