クラス JdbcUtils
- 作成者:
- Thomas Risberg, Juergen Hoeller, Ben Blinebury
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明static void指定された JDBC 接続を閉じ、スローされた例外を無視します。static void指定された JDBC ResultSet を閉じて、スローされた例外を無視します。static void指定された JDBC ステートメントを閉じ、スローされた例外を無視します。commonDatabaseName(@Nullable StringSE source) さまざまなドライバー / プラットフォームが実行時にさまざまな名前を提供する場合でも、使用中のターゲットデータベースの共通名を抽出します。static StringSE"camelCase" を使用するプロパティ名を、アンダースコアを含む対応する列名に変換します。static StringSE"camelCase" を使用して、アンダースコアを含む列名を対応するプロパティ名に変換します。static <T> TextractDatabaseMetaData(DataSourceSE dataSource, StringSE metaDataMethodName) 使用すべきではありません。extractDatabaseMetaData(DataSourceSE dataSource, DatabaseMetaDataCallback<T> action) 指定された DatabaseMetaDataCallback を介してデータベースメタデータを抽出します。getResultSetValue(ResultSetSE rs, int index) 最も適切な値型を使用して、ResultSet から JDBC 列値を取得します。getResultSetValue(ResultSetSE rs, int index, @Nullable ClassSE<?> requiredType) 指定された値型を使用して、ResultSet から JDBC 列値を取得します。static booleanisNumeric(int sqlType) 指定された SQL 型が数値かどうかを確認します。static StringSElookupColumnName(ResultSetMetaDataSE resultSetMetaData, int columnIndex) 使用する列名を決定します。resolveTypeName(int sqlType) 可能であれば、指定された SQL 型の標準型名を解決します。static boolean指定された JDBC ドライバーが JDBC バッチ更新をサポートしているかどうかを返します。
フィールドの詳細
TYPE_UNKNOWN
public static final int TYPE_UNKNOWN不明な(または未指定の)SQL 型を示す定数。- 関連事項:
コンストラクターの詳細
JdbcUtils
public JdbcUtils()
メソッドの詳細
closeConnection
指定された JDBC 接続を閉じ、スローされた例外を無視します。これは、手動 JDBC コードの典型的な finally ブロックに役立ちます。- パラメーター:
con- 終了する JDBC 接続 (nullの場合があります)
closeStatement
指定された JDBC ステートメントを閉じ、スローされた例外を無視します。これは、手動 JDBC コードの典型的な finally ブロックに役立ちます。- パラメーター:
stmt- 終了する JDBC ステートメント (nullの場合があります)
closeResultSet
指定された JDBC ResultSet を閉じて、スローされた例外を無視します。これは、手動 JDBC コードの典型的な finally ブロックに役立ちます。- パラメーター:
rs- JDBC ResultSet を閉じます (nullの場合があります)
getResultSetValue
public static @Nullable ObjectSE getResultSetValue(ResultSetSE rs, int index, @Nullable ClassSE<?> requiredType) throws SQLExceptionSE 指定された値型を使用して、ResultSet から JDBC 列値を取得します。特別に型指定された ResultSet アクセサーメソッドを使用し、不明な型については
getResultSetValue(java.sql.ResultSet, int)にフォールバックします。不明な型の場合、返される値は指定された必須型に割り当てることができない可能性があることに注意してください。呼び出しコードは、対応する例外をスローするなど、このケースを適切に処理する必要があります。
- パラメーター:
rs- データを保持している ResultSetindex- 列インデックスですrequiredType- 必要な値の型 (nullの場合があります)- 戻り値:
- 値オブジェクト (指定された必要な型ではない可能性があり、さらに変換ステップが必要)
- 例外:
SQLExceptionSE- JDBC API によってスローされた場合- 関連事項:
getResultSetValue
最も適切な値型を使用して、ResultSet から JDBC 列値を取得します。返される値は、アクティブな ResultSet とは関係なく、分離された値オブジェクトである必要があります。特に、Blob または Clob オブジェクトではなく、それぞれバイト配列または String 表現である必要があります。getObject(index)メソッドを使用しますが、TIMESTAMP データ型の非標準オブジェクトと時間部分を除く DATE 列のjava.sql.Dateを返す Oracle 10g を回避するための追加の「ハック」が含まれます。これらの列は、明示的に標準java.sql.Timestampオブジェクトとして抽出されます。- パラメーター:
rs- データを保持している ResultSetindex- 列インデックスです- 戻り値:
- 値オブジェクト
- 例外:
SQLExceptionSE- JDBC API によってスローされた場合- 関連事項:
extractDatabaseMetaData
public static <T extends @Nullable ObjectSE> T extractDatabaseMetaData(DataSourceSE dataSource, DatabaseMetaDataCallback<T> action) throws MetaDataAccessException 指定された DatabaseMetaDataCallback を介してデータベースメタデータを抽出します。このメソッドは、データベースへの接続を開き、そのメタデータを取得します。このメソッドは、DataSource に対して例外変換機能が構成される前に呼び出されるため、このメソッドは SQLException 変換自体に依存できません。
例外はすべて MetaDataAccessException にラップされます。これはチェック例外であり、呼び出し元のコードはこの例外をキャッチして処理する必要があります。エラーをログに記録して最善の結果を期待することもできますが、データベースに再度アクセスしようとすると再び表示されるより深刻なエラーが発生する可能性があります。
- パラメーター:
dataSource- メタデータを抽出する DataSourceaction- 実際の作業を行うコールバック- 戻り値:
- DatabaseMetaDataCallback の
processMetaDataメソッドによって返される、抽出された情報を含むオブジェクト - 例外:
MetaDataAccessException- メタデータアクセスに失敗した場合- 関連事項:
extractDatabaseMetaData
@DeprecatedSE(since="5.2.9") public static <T> T extractDatabaseMetaData(DataSourceSE dataSource, StringSE metaDataMethodName) throws MetaDataAccessException 使用すべきではありません。ラムダ式またはメソッド参照とジェネリクス型の結果を持つextractDatabaseMetaData(DataSource, DatabaseMetaDataCallback)を優先する指定された DataSource の DatabaseMetaData で指定されたメソッドを呼び出し、呼び出し結果を抽出します。- パラメーター:
dataSource- メタデータを抽出する DataSourcemetaDataMethodName- 呼び出す DatabaseMetaData メソッドの名前- 戻り値:
- 指定された DatabaseMetaData メソッドによって返されたオブジェクト
- 例外:
MetaDataAccessException- DatabaseMetaData にアクセスできなかった場合、または指定されたメソッドの呼び出しに失敗した場合- 関連事項:
supportsBatchUpdates
指定された JDBC ドライバーが JDBC バッチ更新をサポートしているかどうかを返します。通常は、特定のステートメントのセットを実行する直前に呼び出され、SQL ステートメントのセットを JDBC バッチメカニズムを通じて実行するか、単に従来の 1 つずつ方法で実行するかを決定します。
"supportsBatchUpdates" メソッドが例外をスローした場合は警告をログに記録し、その場合は単に
falseを返します。- パラメーター:
con- 確認する接続- 戻り値:
- JDBC バッチ更新がサポートされているかどうか
- 関連事項:
commonDatabaseName
isNumeric
public static boolean isNumeric(int sqlType) 指定された SQL 型が数値かどうかを確認します。- パラメーター:
sqlType- チェックする SQL 型- 戻り値:
- 型が数値かどうか
resolveTypeName
lookupColumnName
public static StringSE lookupColumnName(ResultSetMetaDataSE resultSetMetaData, int columnIndex) throws SQLExceptionSE 使用する列名を決定します。列名は、ResultSetMetaData を使用したルックアップに基づいて決定されます。このメソッドの実装では、JDBC 4.0 仕様で表現されている明確化が考慮されています。
columnLabel - SQL AS 句で指定された列のラベル。SQL AS 句が指定されていない場合、ラベルは列の名前になります。
- パラメーター:
resultSetMetaData- 使用する現在のメタデータcolumnIndex- ルックアップ用の列のインデックス- 戻り値:
- 使用する列名
- 例外:
SQLExceptionSE- ルックアップが失敗した場合
convertPropertyNameToUnderscoreName
convertUnderscoreNameToPropertyName
extractDatabaseMetaData(DataSource, DatabaseMetaDataCallback)を優先する