package org.kodejava.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ScrollableMoveExample {
private static final String URL = "jdbc:mysql://localhost/kodejava";
private static final String USERNAME = "kodejava";
private static final String PASSWORD = "s3cr*t";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
// In this example, we first create a statement that allows us
// to go back and forth in the result-set object. First, we'll
// iterate the result from beginning to the end.
Statement statement = connection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql = "SELECT id, code, name, price FROM product";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
print(resultSet);
}
System.out.println();
// Now the result set pointer is placed after the last record.
// With the previous method of the result-set, we can now move
// the pointer backward to the beginning of the result set.
while (resultSet.previous()) {
print(resultSet);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void print(ResultSet resultSet) throws SQLException {
long id = resultSet.getLong("id");
String code = resultSet.getString("code");
String name = resultSet.getString("name");
double price = resultSet.getDouble("price");
System.out.println(id + "\t" + code + "\t" + name + "\t" + price);
}
}
Here are some results of our program.
1 P0000001 Java 2 Notebook 25.0
2 P0000002 Java Servlet Programming 30.0
3 P0000003 PHP Programming 20.0
4 P0000004 Longman Active Study Dictionary 40.0
5 P0000005 Ruby on Rails 24.0
5 P0000005 Ruby on Rails 24.0
4 P0000004 Longman Active Study Dictionary 40.0
3 P0000003 PHP Programming 20.0
2 P0000002 Java Servlet Programming 30.0
1 P0000001 Java 2 Notebook 25.0
Maven Dependencies
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.4.0</version>
</dependency>
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024