In this example we’ll show how to use ResultSetMetaData.isNullable()
method to know if a column can be null
or not. This method returns an integer which values defined in the constants of ResultSetMetaData.columnNullable
, ResultSetMetaData.columnNoNulls
and ResultSetMetaData.columnNullableUnknown
.
package org.kodejava.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class IsNullableExample {
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)) {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(
"SELECT id, isbn, title, published_year, price FROM book");
int columnIndex = 2;
// The ResultSetMetaData is where all metadata related
// information for a result set is stored.
ResultSetMetaData metadata = resultSet.getMetaData();
String columnName = metadata.getColumnName(columnIndex);
int nullable = metadata.isNullable(columnIndex);
// Check the nullable status of a column (`isbn`)
if (nullable == ResultSetMetaData.columnNullable) {
System.out.printf("`%s` can have a null value.%n", columnName);
} else if (nullable == ResultSetMetaData.columnNoNulls) {
System.out.printf("`%s` does not allowed to have a " +
"null value.%n", columnName);
} else if (nullable == ResultSetMetaData.columnNullableUnknown) {
System.out.println("Nullability unknown.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Maven Dependencies
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.1.0</version>
</dependency>
Latest posts by Wayan (see all)
- How do I iterate through date range in Java? - October 5, 2023
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023