public class SQLHelper extends Object
Modifier and Type | Field and Description |
---|---|
static String |
DB_PRODUCT_SYBASE
The database product name reported by Sybase JDBC drivers.
|
Modifier and Type | Method and Description |
---|---|
static void |
close(ResultSet resultSet)
Closes the given result set in a null-safe way
|
static void |
close(ResultSet rs,
Statement stmt)
Close a result set and a prepared statement, checking for null references.
|
static void |
close(Statement stmt)
Close a SQL statement, checking for null references.
|
static Column |
createColumn(ResultSet resultSet,
IDataTypeFactory dataTypeFactory,
boolean datatypeWarning)
|
static String |
getDatabaseInfo(DatabaseMetaData metaData)
Returns the database and JDBC driver information as pretty formatted string
|
static String |
getPrimaryKeyColumn(Connection conn,
String table)
Gets the primary column for a table.
|
static boolean |
isSybaseDb(DatabaseMetaData metaData)
Detects whether or not the given metadata describes the connection to a Sybase database
or not.
|
static boolean |
matches(ResultSet resultSet,
String schema,
String table,
boolean caseSensitive)
Checks if the given
resultSet matches the given schema and table name. |
static boolean |
matches(ResultSet resultSet,
String catalog,
String schema,
String table,
String column,
boolean caseSensitive)
Checks if the given
resultSet matches the given schema and table name. |
static void |
printAllTables(DatabaseMetaData metaData,
PrintStream outputStream)
Utility method for debugging to print all tables of the given metadata on the given stream
|
static void |
printDatabaseInfo(DatabaseMetaData metaData,
PrintStream outputStream)
Prints the database and JDBC driver information to the given output stream
|
static boolean |
schemaExists(Connection connection,
String schema)
Returns
true if the given schema exists for the given connection. |
static boolean |
tableExists(DatabaseMetaData metaData,
String schema,
String tableName)
Checks if the given table exists.
|
public static final String DB_PRODUCT_SYBASE
public static String getPrimaryKeyColumn(Connection conn, String table) throws SQLException
conn
- connection with the databasetable
- table nameSQLException
- raised while getting the meta datapublic static void close(ResultSet rs, Statement stmt) throws SQLException
rs
- result set to be closedstmt
- prepared statement to be closedSQLException
- exception raised in either close() methodpublic static void close(Statement stmt) throws SQLException
stmt
- statement to be closedSQLException
- exception raised while closing the statementpublic static void close(ResultSet resultSet) throws SQLException
resultSet
- SQLException
public static boolean schemaExists(Connection connection, String schema) throws SQLException
true
if the given schema exists for the given connection.connection
- The connection to a databaseschema
- The schema to be searchedtrue
if the given schema exists for the given connection.SQLException
public static boolean tableExists(DatabaseMetaData metaData, String schema, String tableName) throws SQLException
metaData
- The database meta dataschema
- The schema in which the table should be searched. If null
the schema is not used to narrow the table name.tableName
- The table name to be searchedtrue
if the given table exists in the given schema.
Else returns false
.SQLException
public static void printAllTables(DatabaseMetaData metaData, PrintStream outputStream) throws SQLException
metaData
- outputStream
- SQLException
public static String getDatabaseInfo(DatabaseMetaData metaData) throws SQLException
metaData
- The JDBC database metadata needed to retrieve database informationSQLException
public static void printDatabaseInfo(DatabaseMetaData metaData, PrintStream outputStream) throws SQLException
metaData
- The JDBC database metadata needed to retrieve database informationoutputStream
- The stream to which the information is printedSQLException
public static boolean isSybaseDb(DatabaseMetaData metaData) throws SQLException
metaData
- The metadata to be checked whether it is a Sybase connectiontrue
if and only if the given metadata belongs to a Sybase database.SQLException
public static final Column createColumn(ResultSet resultSet, IDataTypeFactory dataTypeFactory, boolean datatypeWarning) throws SQLException, DataTypeException
resultSet
- A result set produced via DatabaseMetaData.getColumns(String, String, String, String)
dataTypeFactory
- The factory used to lookup the DataType
for this columndatatypeWarning
- Whether or not a warning should be printed if the column could not
be created because of an unknown datatype.Column
or null
if the column could not be initialized because of an
unknown datatype.SQLException
DataTypeException
public static boolean matches(ResultSet resultSet, String schema, String table, boolean caseSensitive) throws SQLException
resultSet
matches the given schema and table name.
The comparison is case sensitive.resultSet
- A result set produced via DatabaseMetaData.getColumns(String, String, String, String)
schema
- The name of the schema to check. If null
it is ignored in the comparisontable
- The name of the table to check. If null
it is ignored in the comparisoncaseSensitive
- Whether or not the comparison should be case sensitive or nottrue
if the column metadata of the given resultSet
matches
the given schema and table parameters.SQLException
public static boolean matches(ResultSet resultSet, String catalog, String schema, String table, String column, boolean caseSensitive) throws SQLException
resultSet
matches the given schema and table name.
The comparison is case sensitive.resultSet
- A result set produced via DatabaseMetaData.getColumns(String, String, String, String)
catalog
- The name of the catalog to check. If null
it is ignored in the comparisonschema
- The name of the schema to check. If null
it is ignored in the comparisontable
- The name of the table to check. If null
it is ignored in the comparisoncolumn
- The name of the column to check. If null
it is ignored in the comparisoncaseSensitive
- Whether or not the comparison should be case sensitive or nottrue
if the column metadata of the given resultSet
matches
the given schema and table parameters.SQLException
Copyright © 2002-2012. All Rights Reserved.