| Modifier and Type | Field and Description |
|---|---|
| private static final Log | |
| public static final int | TYPE_UNKNOWN
Constant that indicates an unknown (or unspecified) SQL type. |
| private static final Map |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static void | closeConnection(Connection
the JDBC Connection to close (may be con)null)Close the given JDBC Connection and ignore any thrown exception. |
| public static void | closeResultSet(ResultSet
the JDBC ResultSet to close (may be rs)null)Close the given JDBC ResultSet and ignore any thrown exception. |
| public static void | closeStatement(Statement
the JDBC Statement to close (may be stmt)null)Close the given JDBC Statement and ignore any thrown exception. |
| public static String | Returns: the common name to be used (e.g. "DB2" or "Sybase")the name as provided in database meta-data source)Extract a common name for the target database in use even if various drivers/platforms provide varying names at runtime. |
| public static String | Returns: the column name using underscoresthe property name to be converted name)Convert a property name using "camelCase" to a corresponding column name with underscores. |
| public static String | Returns: the name using "camelCase"the potentially underscores-based column name to be converted name)Convert a column name with underscores to the corresponding property name using "camelCase". |
| public static <T> T | Returns: object containing the extracted information, as returned by the DatabaseMetaDataCallback'sprocessMetaData methodthe DataSource to extract meta-data for dataSource, DatabaseMetaDataCallback<T> callback that will do the actual work action)Extract database meta-data via the given DatabaseMetaDataCallback. |
| public static <T> T | Returns: the object returned by the specified DatabaseMetaData methodthe DataSource to extract meta-data for dataSource, final String the name of the DatabaseMetaData method to call metaDataMethodName)
Deprecated
as of 5.2.9, in favor of
extractDatabaseMetaData(DataSource, DatabaseMetaDataCallback)
with a lambda expression or method reference and a generically typed result
Call the specified method on DatabaseMetaData for the given DataSource, and extract the invocation result. |
| public static Object | Returns: the value object (possibly not of the specified required type, with further conversion steps necessary)is the ResultSet holding the data rs, int is the column index index, Class<?> the required value type (may be requiredType)null)Retrieve a JDBC column value from a ResultSet, using the specified value type. |
| public static Object | Returns: the value objectis the ResultSet holding the data rs, int is the column index index)Retrieve a JDBC column value from a ResultSet, using the most appropriate value type. |
| public static boolean | Returns: whether the type is numericthe SQL type to be checked sqlType)Check whether the given SQL type is numeric. |
| public static String | Returns: the column name to usethe current meta-data to use resultSetMetaData, int the index of the column for the lookup columnIndex)Determine the column name to use. |
| public static String | Returns: the corresponding constant name injava.
(e.g. "VARCHAR"/"NUMERIC"), or null if not resolvablethe SQL type to resolve sqlType)Resolve the standard type name for the given SQL type, if possible. |
| public static boolean | Returns: whether JDBC batch updates are supportedthe Connection to check con)Return whether the given JDBC driver supports JDBC batch updates. |
| logger | back to summary |
|---|---|
| private static final Log logger | |
| TYPE_UNKNOWN | back to summary |
|---|---|
| public static final int TYPE_UNKNOWN Constant that indicates an unknown (or unspecified) SQL type.
| |
| typeNames | back to summary |
|---|---|
| private static final Map<Integer, String> typeNames | |
| JdbcUtils | back to summary |
|---|---|
| public JdbcUtils() | |
| closeConnection | back to summary |
|---|---|
| public static void closeConnection(Connection con) Close the given JDBC Connection and ignore any thrown exception. This is useful for typical finally blocks in manual JDBC code.
| |
| closeResultSet | back to summary |
|---|---|
| public static void closeResultSet(ResultSet rs) Close the given JDBC ResultSet and ignore any thrown exception. This is useful for typical finally blocks in manual JDBC code.
| |
| closeStatement | back to summary |
|---|---|
| public static void closeStatement(Statement stmt) Close the given JDBC Statement and ignore any thrown exception. This is useful for typical finally blocks in manual JDBC code.
| |
| commonDatabaseName | back to summary |
|---|---|
| public static String commonDatabaseName(String source) Extract a common name for the target database in use even if various drivers/platforms provide varying names at runtime. | |
| convertPropertyNameToUnderscoreName | back to summary |
|---|---|
| public static String convertPropertyNameToUnderscoreName(String name) Convert a property name using "camelCase" to a corresponding column name with underscores. A name like "customerNumber" would match a "customer_number" column name.
| |
| convertUnderscoreNameToPropertyName | back to summary |
|---|---|
| public static String convertUnderscoreNameToPropertyName(String name) Convert a column name with underscores to the corresponding property name using "camelCase". A name like "customer_number" would match a "customerNumber" property name.
| |
| extractDatabaseMetaData | back to summary |
|---|---|
| public static <T> T extractDatabaseMetaData(DataSource dataSource, DatabaseMetaDataCallback<T> action) throws MetaDataAccessException Extract database meta-data via the given DatabaseMetaDataCallback. This method will open a connection to the database and retrieve its meta-data. Since this method is called before the exception translation feature is configured for a DataSource, this method can not rely on SQLException translation itself. Any exceptions will be wrapped in a MetaDataAccessException. This is a checked exception and any calling code should catch and handle this exception. You can just log the error and hope for the best, but there is probably a more serious error that will reappear when you try to access the database again.
| |
| extractDatabaseMetaData | back to summary |
|---|---|
| public static <T> T extractDatabaseMetaData(DataSource dataSource, final String metaDataMethodName) throws MetaDataAccessException
Deprecated as of 5.2.9, in favor of
Call the specified method on DatabaseMetaData for the given DataSource, and extract the invocation result.
| |
| getResultSetValue | back to summary |
|---|---|
| public static Object getResultSetValue(ResultSet rs, int index, Class<?> requiredType) throws SQLException Retrieve a JDBC column value from a ResultSet, using the specified value type. Uses the specifically typed ResultSet accessor methods, falling back to
Note that the returned value may not be assignable to the specified required type, in case of an unknown type. Calling code needs to deal with this case appropriately, e.g. throwing a corresponding exception.
| |
| getResultSetValue | back to summary |
|---|---|
| public static Object getResultSetValue(ResultSet rs, int index) throws SQLException Retrieve a JDBC column value from a ResultSet, using the most appropriate value type. The returned value should be a detached value object, not having any ties to the active ResultSet: in particular, it should not be a Blob or Clob object but rather a byte array or String representation, respectively. Uses the
| |
| isNumeric | back to summary |
|---|---|
| public static boolean isNumeric(int sqlType) Check whether the given SQL type is numeric.
| |
| lookupColumnName | back to summary |
|---|---|
| public static String lookupColumnName(ResultSetMetaData resultSetMetaData, int columnIndex) throws SQLException Determine the column name to use. The column name is determined based on a lookup using ResultSetMetaData. This method's implementation takes into account clarifications expressed in the JDBC 4.0 specification: columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column.
| |
| resolveTypeName | back to summary |
|---|---|
| public static String resolveTypeName(int sqlType) Resolve the standard type name for the given SQL type, if possible.
| |
| supportsBatchUpdates | back to summary |
|---|---|
| public static boolean supportsBatchUpdates(Connection con) Return whether the given JDBC driver supports JDBC batch updates. Typically invoked right before execution of a given set of statements: to decide whether the set of SQL statements should be executed through the JDBC batch mechanism or simply in a traditional one-by-one fashion. Logs a warning if the "supportsBatchUpdates" methods throws an exception
and simply returns
| |