public abstract class JdbcUtils
extends java.lang.Object| 修飾子と型 | フィールドと説明 |
|---|---|
static int | TYPE_UNKNOWN 不明な(または未指定の)SQL 型を示す定数。 |
| コンストラクターと説明 |
|---|
JdbcUtils() |
| 修飾子と型 | メソッドと説明 |
|---|---|
static void | closeConnection(java.sql.Connection con) 指定された JDBC 接続を閉じ、スローされた例外を無視します。 |
static void | closeResultSet(java.sql.ResultSet rs) 指定された JDBC ResultSet を閉じて、スローされた例外を無視します。 |
static void | closeStatement(java.sql.Statement stmt) 指定された JDBC ステートメントを閉じ、スローされた例外を無視します。 |
static java.lang.String | commonDatabaseName(java.lang.String source) さまざまなドライバー / プラットフォームが実行時にさまざまな名前を提供する場合でも、使用中のターゲットデータベースの共通名を抽出します。 |
static java.lang.String | convertUnderscoreNameToPropertyName(java.lang.String name)「キャメルケース」を使用して、アンダースコア付きの列名を対応するプロパティ名に変換します。 |
static java.lang.Object | extractDatabaseMetaData(javax.sql.DataSource dataSource, DatabaseMetaDataCallback action) 指定された DatabaseMetaDataCallback を介してデータベースメタデータを抽出します。 |
static <T> T | extractDatabaseMetaData(javax.sql.DataSource dataSource, java.lang.String metaDataMethodName) 指定された DataSource の DatabaseMetaData で指定されたメソッドを呼び出し、呼び出し結果を抽出します。 |
static java.lang.Object | getResultSetValue(java.sql.ResultSet rs, int index) 最も適切な値型を使用して、ResultSet から JDBC 列値を取得します。 |
static java.lang.Object | getResultSetValue(java.sql.ResultSet rs, int index, java.lang.Class<?> requiredType) 指定された値型を使用して、ResultSet から JDBC 列値を取得します。 |
static boolean | isNumeric(int sqlType) 指定された SQL 型が数値かどうかを確認します。 |
static java.lang.String | lookupColumnName(java.sql.ResultSetMetaData resultSetMetaData, int columnIndex) 使用する列名を決定します。 |
static boolean | supportsBatchUpdates(java.sql.Connection con) 指定された JDBC ドライバーが JDBC 2.0 バッチ更新をサポートするかどうかを返します。 |
public static final int TYPE_UNKNOWN
Types, 定数フィールド値 public static void closeConnection(@Nullable java.sql.Connection con)
con - 終了する JDBC 接続 (null の場合があります)public static void closeStatement(@Nullable java.sql.Statement stmt)
stmt - 終了する JDBC ステートメント (null の場合があります)public static void closeResultSet(@Nullable java.sql.ResultSet rs)
rs - JDBC ResultSet を閉じます (null の場合があります)@Nullable public static java.lang.Object getResultSetValue(java.sql.ResultSet rs, int index, @Nullable java.lang.Class<?> requiredType) throws java.sql.SQLException
特別に型指定された ResultSet アクセサーメソッドを使用し、不明な型については getResultSetValue(java.sql.ResultSet, int) にフォールバックします。
不明な型の場合、戻り値は指定された必須型に割り当てられない場合があることに注意してください。呼び出しコードは、このケースに適切に対処する必要があります。対応する例外をスローします。
rs - データを保持している ResultSetindex - 列インデックスです requiredType - 必要な値の型 (null の場合があります)java.sql.SQLException - JDBC API によってスローされた場合 getResultSetValue(ResultSet, int)@Nullable public static java.lang.Object getResultSetValue(java.sql.ResultSet rs, int index) throws java.sql.SQLException
getObject(index) メソッドを使用しますが、TIMESTAMP データ型の非標準オブジェクトと時間部分を除く DATE 列の java.sql.Date を返す Oracle 10g を回避するための追加の「ハック」が含まれます。これらの列は、明示的に標準 java.sql.Timestamp オブジェクトとして抽出されます。
rs - データを保持している ResultSetindex - 列インデックスです java.sql.SQLException - JDBC API によってスローされた場合 Blob、Clob、Timestamppublic static java.lang.Object extractDatabaseMetaData(javax.sql.DataSource dataSource,
DatabaseMetaDataCallback action)
throws MetaDataAccessExceptionこのメソッドは、データベースへの接続を開き、データベースのメタデータを取得します。このメソッドは、例外変換機能がデータソースに設定される前に呼び出されるため、このメソッドは SQLException 変換機能に依存できません。
例外はすべて MetaDataAccessException にラップされます。これはチェック例外であり、呼び出し元のコードはこの例外をキャッチして処理する必要があります。エラーをログに記録して最善の結果を期待することもできますが、データベースに再度アクセスしようとすると再び表示されるより深刻なエラーが発生する可能性があります。
dataSource - メタデータを抽出する DataSourceaction - 実際の作業を行うコールバック processMetaData メソッドによって返される、抽出された情報を含むオブジェクト MetaDataAccessException - メタデータアクセスに失敗した場合 public static <T> T extractDatabaseMetaData(javax.sql.DataSource dataSource,
java.lang.String metaDataMethodName)
throws MetaDataAccessExceptiondataSource - メタデータを抽出する DataSourcemetaDataMethodName - 呼び出す DatabaseMetaData メソッドの名前 MetaDataAccessException - DatabaseMetaData にアクセスできなかった場合、または指定されたメソッドの呼び出しに失敗した場合 DatabaseMetaDatapublic static boolean supportsBatchUpdates(java.sql.Connection con)
通常、特定のステートメントセットの実行直前に呼び出されます。SQL ステートメントセットを JDBC 2.0 バッチメカニズムで実行するか、従来の 1 つずつ実行するかを決定します。
"supportsBatchUpdates" メソッドが例外をスローした場合は警告をログに記録し、その場合は単に false を返します。
con - 確認する接続 DatabaseMetaData.supportsBatchUpdates()@Nullable public static java.lang.String commonDatabaseName(@Nullable java.lang.String source)
source - データベースのメタデータで提供される名前 public static boolean isNumeric(int sqlType)
sqlType - チェックする SQL 型 public static java.lang.String lookupColumnName(java.sql.ResultSetMetaData resultSetMetaData,
int columnIndex)
throws java.sql.SQLExceptionこのメソッドの実装では、JDBC 4.0 仕様で表現されている最近の説明が考慮されます。
columnLabel - SQL AS 句で指定された列のラベル。SQL AS 句が指定されていない場合、ラベルは列の名前になります。
resultSetMetaData - 使用する現在のメタデータ columnIndex - ルックアップする列のインデックス java.sql.SQLException - ルックアップが失敗した場合 public static java.lang.String convertUnderscoreNameToPropertyName(@Nullable java.lang.String name)
name - 変換する列名