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