- java.lang.Object
-
- org.jooq.tools.jdbc.JDBCUtils
-
public class JDBCUtils extends Object
JDBC-related utility methods.- Author:
- Lukas Eder
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static @NotNull SQLDialect
dialect(String url)
"Guess" theSQLDialect
from a connection URL.static @NotNull SQLDialect
dialect(Connection connection)
"Guess" theSQLDialect
from aConnection
instance.static @NotNull String
driver(String url)
"Guess" the JDBC driver from a connection URL.static @NotNull String
driver(SQLDialect dialect)
"Guess" the JDBC driver from aSQLDialect
.static void
safeClose(Closeable closeable)
Safely close a closeable.static void
safeClose(AutoCloseable closeable)
Safely close a closeable.static void
safeClose(Connection connection)
Safely close a connection.static void
safeClose(ResultSet resultSet)
Safely close a result set.static void
safeClose(ResultSet resultSet, PreparedStatement statement)
Safely close a result set and / or a statement.static void
safeClose(Statement statement)
Safely close a statement.static void
safeFree(Array array)
Safely free an Array object.static void
safeFree(Blob blob)
Safely free a blob.static void
safeFree(Clob clob)
Safely free a clob.static void
safeFree(SQLXML xml)
Safely free an XML object.static Boolean
wasNull(CallableStatement statement, Boolean value)
Convenient way to check if a JDBC-originated record wasnull
.static <T> T
wasNull(CallableStatement statement, T value)
Convenient way to check if a JDBC-originated record wasnull
.static Boolean
wasNull(ResultSet rs, Boolean value)
Convenient way to check if a JDBC-originated record wasnull
.static <T> T
wasNull(ResultSet rs, T value)
Convenient way to check if a JDBC-originated record wasnull
.static Boolean
wasNull(SQLInput stream, Boolean value)
Convenient way to check if a JDBC-originated record wasnull
.static <T> T
wasNull(SQLInput stream, T value)
Convenient way to check if a JDBC-originated record wasnull
.
-
-
-
Method Detail
-
dialect
@NotNull public static final @NotNull SQLDialect dialect(Connection connection)
"Guess" theSQLDialect
from aConnection
instance.This method tries to guess the
SQLDialect
of a connection from the its connection URL as obtained byDatabaseMetaData.getURL()
. If the dialect cannot be guessed from the URL (e.g. when using an JDBC-ODBC bridge), further actions may be implemented in the future.- Returns:
- The appropriate
SQLDialect
orSQLDialect.DEFAULT
if no dialect could be derived from the connection. Nevernull
. - See Also:
dialect(String)
-
dialect
@NotNull public static final @NotNull SQLDialect dialect(String url)
"Guess" theSQLDialect
from a connection URL.- Returns:
- The appropriate
SQLDialect
orSQLDialect.DEFAULT
if no dialect could be derived from the connection. Nevernull
.
-
driver
@NotNull public static final @NotNull String driver(SQLDialect dialect)
"Guess" the JDBC driver from aSQLDialect
.- Returns:
- The appropriate JDBC driver class or
"java.sql.Driver"
if no driver class could be derived from the URL. Nevernull
.
-
driver
@NotNull public static final @NotNull String driver(String url)
"Guess" the JDBC driver from a connection URL.- Returns:
- The appropriate JDBC driver class or
"java.sql.Driver"
if no driver class could be derived from the URL. Nevernull
.
-
safeClose
public static final void safeClose(Connection connection)
Safely close a connection.This method will silently ignore if
connection
isnull
, or ifConnection.close()
throws an exception.
-
safeClose
public static final void safeClose(Statement statement)
Safely close a statement.This method will silently ignore if
statement
isnull
, or ifStatement.close()
throws an exception.
-
safeClose
public static final void safeClose(ResultSet resultSet)
Safely close a result set.This method will silently ignore if
resultSet
isnull
, or ifResultSet.close()
throws an exception.
-
safeClose
public static final void safeClose(ResultSet resultSet, PreparedStatement statement)
Safely close a result set and / or a statement.This method will silently ignore if
resultSet
orstatement
isnull
, or ifResultSet.close()
orStatement.close()
throws an exception.
-
safeClose
public static final void safeClose(Closeable closeable)
Safely close a closeable.This method will silently ignore if
closeable
isnull
, or ifCloseable.close()
throws an exception.
-
safeClose
public static final void safeClose(AutoCloseable closeable)
Safely close a closeable.This method will silently ignore if
closeable
isnull
, or ifAutoCloseable.close()
throws an exception.
-
safeFree
public static final void safeFree(Blob blob)
Safely free a blob.This method will silently ignore if
blob
isnull
, or ifBlob.free()
throws an exception.
-
safeFree
public static final void safeFree(Clob clob)
Safely free a clob.This method will silently ignore if
clob
isnull
, or ifClob.free()
throws an exception.
-
safeFree
public static final void safeFree(SQLXML xml)
Safely free an XML object.This method will silently ignore if
xml
isnull
, or ifSQLXML.free()
throws an exception.
-
safeFree
public static final void safeFree(Array array)
Safely free an Array object.This method will silently ignore if
array
isnull
, or ifArray.free()
throws an exception.
-
wasNull
public static final <T> T wasNull(SQLInput stream, T value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
stream
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theSQLInput.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final <T extends Number> T wasNull(SQLInput stream, T value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
stream
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theSQLInput.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final Boolean wasNull(SQLInput stream, Boolean value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
stream
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theSQLInput.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final <T> T wasNull(ResultSet rs, T value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
rs
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theResultSet.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final <T extends Number> T wasNull(ResultSet rs, T value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
rs
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theResultSet.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final Boolean wasNull(ResultSet rs, Boolean value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
rs
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theResultSet.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final <T> T wasNull(CallableStatement statement, T value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
statement
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theCallableStatement.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final <T extends Number> T wasNull(CallableStatement statement, T value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
statement
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theCallableStatement.wasNull()
istrue
- Throws:
SQLException
-
wasNull
public static final Boolean wasNull(CallableStatement statement, Boolean value) throws SQLException
Convenient way to check if a JDBC-originated record wasnull
.This is useful to check if primitive types obtained from the JDBC API were actually SQL NULL values.
- Parameters:
statement
- The data source from which a value was readvalue
- The value that was read- Returns:
- The
value
ornull
if theCallableStatement.wasNull()
istrue
- Throws:
SQLException
-
-