If you want to limit the result of your query you can use the Statement.setMaxRows(int max)
method call. This call will allow the ResultSet
object to contains a maximum number of records specified in the parameter of the setMaxRows
method.
Another way to limit the number of data returned in a query is to use the database specific command such as the MySQL limit
command.
package org.kodejava.jdbc;
import java.sql.*;
public class SetMaxRowExample {
private static final String URL = "jdbc:mysql://localhost/kodejava";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
Statement statement = connection.createStatement();
// Executes an SQL query to get the total number of data
// in products table.
String query = "select count(*) from products";
ResultSet rs = statement.executeQuery(query);
while (rs.next()) {
System.out.println("Total Products: " + rs.getInt(1));
}
// Set the maximum row of data that can be stored in the
// ResultSet.
statement.setMaxRows(5);
// Executes an SQL query to retrieve data from Products
// table.
query = "select id, code, name, price from products";
rs = statement.executeQuery(query);
System.out.println("Data read after the MaxRows is set.");
while (rs.next()) {
System.out.println("ID: " + rs.getInt("id")
+ ", CODE: " + rs.getString("code")
+ ", NAME: " + rs.getString("name")
+ ", PRICE: " + rs.getBigDecimal("price"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
When running the code we’ll see that only 5 records was read from the Products
table instead of 10 records. This is the result of setting the maximum rows in the Statement
object.
Below is the output of our code.
Total Products: 9
Data read after the MaxRows is set.
ID: 1, CODE: P0000001, NAME: UML Distilled 3rd Edition, PRICE: 25.00
ID: 3, CODE: P0000003, NAME: PHP Programming, PRICE: 20.00
ID: 4, CODE: P0000004, NAME: Longman Active Study Dictionary, PRICE: 40.00
ID: 5, CODE: P0000005, NAME: Ruby on Rails, PRICE: 24.00
ID: 6, CODE: P0000006, NAME: Championship Manager, PRICE: 0.00
Maven dependencies
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.32</version>
</dependency>
Latest posts by Wayan (see all)
- How do I build simple search page using ZK and Spring Boot? - March 8, 2023
- How do I calculate days between two dates excluding weekends and holidays? - January 12, 2023
- How do I discover the quarter of a given date? - January 11, 2023