The Statement.setQueryTimeout()
method set the limit in seconds for query execution time. The execution has no timeout limit when the value is set to zero.
package org.kodejava.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.DriverManager;
public class QueryTimeout {
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 stmt = connection.createStatement();
// Sets the number of seconds the driver will wait for
// a statement object to execute to the given number of
// seconds. If the limit is exceeded, an SQLException
// is thrown.
stmt.setQueryTimeout(60);
// Execute sql query
ResultSet rs = stmt.executeQuery("select * from products");
while (rs.next()) {
System.out.println("code: " + rs.getString("code")
+ " ,product: " + rs.getString("name")
+ " ,price: " + rs.getDouble("price"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
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
Thank you.