Class JDBCUtils
- java.lang.Object
-
- org.jooq.tools.jdbc.JDBCUtils
-
public class JDBCUtils extends java.lang.Object
JDBC-related utility methods.- Author:
- Lukas Eder
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SQLDialect
dialect(java.lang.String url)
"Guess" theSQLDialect
from a connection URL.static SQLDialect
dialect(java.sql.Connection connection)
"Guess" theSQLDialect
from aConnection
instance.static java.lang.String
driver(java.lang.String url)
"Guess" the JDBC driver from a connection URL.static void
safeClose(java.io.Closeable closeable)
Safely close a closeable.static void
safeClose(java.lang.AutoCloseable closeable)
Safely close a closeable.static void
safeClose(java.sql.Connection connection)
Safely close a connection.static void
safeClose(java.sql.ResultSet resultSet)
Safely close a result set.static void
safeClose(java.sql.ResultSet resultSet, java.sql.PreparedStatement statement)
Safely close a result set and / or a statement.static void
safeClose(java.sql.Statement statement)
Safely close a statement.static void
safeFree(java.sql.Array array)
Safely free an Array object.static void
safeFree(java.sql.Blob blob)
Safely free a blob.static void
safeFree(java.sql.Clob clob)
Safely free a clob.static void
safeFree(java.sql.SQLXML xml)
Safely free an XML object.static java.lang.Boolean
wasNull(java.sql.CallableStatement statement, java.lang.Boolean value)
Convenient way to check if a JDBC-originated record wasnull
.static <T> T
wasNull(java.sql.CallableStatement statement, T value)
Convenient way to check if a JDBC-originated record wasnull
.static java.lang.Boolean
wasNull(java.sql.ResultSet rs, java.lang.Boolean value)
Convenient way to check if a JDBC-originated record wasnull
.static <T> T
wasNull(java.sql.ResultSet rs, T value)
Convenient way to check if a JDBC-originated record wasnull
.static java.lang.Boolean
wasNull(java.sql.SQLInput stream, java.lang.Boolean value)
Convenient way to check if a JDBC-originated record wasnull
.static <T> T
wasNull(java.sql.SQLInput stream, T value)
Convenient way to check if a JDBC-originated record wasnull
.
-
-
-
Method Detail
-
dialect
public static final SQLDialect dialect(java.sql.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
public static final SQLDialect dialect(java.lang.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
public static final java.lang.String driver(java.lang.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(java.sql.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(java.sql.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(java.sql.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(java.sql.ResultSet resultSet, java.sql.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(java.io.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(java.lang.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(java.sql.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(java.sql.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(java.sql.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(java.sql.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(java.sql.SQLInput stream, T value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final <T extends java.lang.Number> T wasNull(java.sql.SQLInput stream, T value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final java.lang.Boolean wasNull(java.sql.SQLInput stream, java.lang.Boolean value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final <T> T wasNull(java.sql.ResultSet rs, T value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final <T extends java.lang.Number> T wasNull(java.sql.ResultSet rs, T value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final java.lang.Boolean wasNull(java.sql.ResultSet rs, java.lang.Boolean value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final <T> T wasNull(java.sql.CallableStatement statement, T value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final <T extends java.lang.Number> T wasNull(java.sql.CallableStatement statement, T value) throws java.sql.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:
java.sql.SQLException
-
wasNull
public static final java.lang.Boolean wasNull(java.sql.CallableStatement statement, java.lang.Boolean value) throws java.sql.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:
java.sql.SQLException
-
-