java.sql.ResultSetMetaDataは、ResultSetのメタデータ情報を取得するためのインターフェースです。
java.sql.ResultSetMetaDataの特徴
java.sql.ResultSetMetaDataは以下の特徴があります。
- 結果セット(ResutSet)のメタ情報を取得できる
(メタ情報とは列名や列型、列サイズなどの付加情報のことです) - JDBCの一部なので、特定のデータベースに依存せずに使用できる
java.sql.ResultSetMetaDataのAPI
型 | 定数 | 説明 |
---|---|---|
int | columnNoNulls | 列がNULL値を許可しないことを示す定数 |
int | columnNullable | 列がNULL値を許可することを示す定数 |
int | columnNullableUnknown | 列がNULL値を許可するかどうか不明であることを示す定数 |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
int | getColumnCount() | カラムの数を返す | |
String | getColumnName(int i) | i番目のカラム名を返す | |
int | getColumnDisplaySize(int i) | i番目のカラムのサイズを返す | |
int | getColumnType(int i) | i番目のカラムの型を返す (java.sql.Types) | |
String | getColumnTypeName(int i) | i番目のカラムの型名を返す ※データベースの固有名 | |
int | getPrecision(int i) | i番目のカラムのサイズを返す | |
int | getScale(int i) | i番目のカラムの小数点以下のサイズを返す | |
String | getSchemaName(int i) | i番目のカラムが属するスキーマ名を返す | |
String | getTableName(int i) | i番目のカラムが属するテーブル名を返す | |
boolean | isAutoIncrement(int i) | i番目のカラムが自動的に番号付けされるかどうか | |
boolean | isCaseSensitive(int i) | i番目のカラムの大文字小文字が区別されるかどうか | |
boolean | isCurrency(int i) | i番目のカラムがキャッシュの値かどうかを | |
boolean | isDefinitelyWritable(int i) | i番目のカラムの書込みが必ず成功するかどうか | |
int | isNullable(int i) | i番目のカラムにNULL値が許可されるかどうか ※戻り値は定数columnNoNulls、columnNullable、columnNullableUnknownのいずれか | |
boolean | isReadOnly(int i) | i番目のカラムが絶対的に書込み可能でないかどうか | |
boolean | isSearchable(int i) | i番目のカラムをwhere節で使用できるかどうか | |
boolean | isSigned(int i) | i番目のカラムの値が符号付き数値かどうか | |
boolean | isWritable(int i) | i番目のカラムへの書込みを成功させることができるかどうか |
java.sql.ResultSetMetaDataサンプル
- (ResutSetのカラム数を取得する)
-
ResultSetMetaData md = rs.getMetaData(); //rsはResutSetオブジェクト int columnCount = md.getColumnCount();
- (1カラム目のカラム名を取得する)
-
ResultSetMetaData md = rs.getMetaData(); //rsはResutSetオブジェクト String columnName = md.getColumnName(1);
- (2カラム目のカラム型を取得する)
-
ResultSetMetaData md = rs.getMetaData(); //rsはResutSetオブジェクト int columnType = md.getColumnType(2);
getColumnTypeの戻り値は、java.sql.Types値です。
コメント