[API] java.sql.ResultSetMetaDataインターフェース

java.sql.ResultSetMetaDataは、ResultSetのメタデータ情報を取得するためのインターフェースです。

java.sql.ResultSetMetaDataの特徴

java.sql.ResultSetMetaDataは以下の特徴があります。

  • 結果セット(ResutSet)のメタ情報を取得できる
    (メタ情報とは列名や列型、列サイズなどの付加情報のことです)
  • JDBCの一部なので、特定のデータベースに依存せずに使用できる

java.sql.ResultSetMetaDataのAPI

【主要定数】
定数説明
intcolumnNoNulls列がNULL値を許可しないことを示す定数
intcolumnNullable列がNULL値を許可することを示す定数
intcolumnNullableUnknown列がNULL値を許可するかどうか不明であることを示す定数
【主要メソッド】
戻値型メソッド静的説明
intgetColumnCount()カラムの数を返す
StringgetColumnName(int i)i番目のカラム名を返す
intgetColumnDisplaySize(int i)i番目のカラムのサイズを返す
intgetColumnType(int i)i番目のカラムの型を返す
(java.sql.Types)
StringgetColumnTypeName(int i)i番目のカラムの型名を返す
※データベースの固有名
intgetPrecision(int i)i番目のカラムのサイズを返す
intgetScale(int i)i番目のカラムの小数点以下のサイズを返す
StringgetSchemaName(int i)i番目のカラムが属するスキーマ名を返す
StringgetTableName(int i)i番目のカラムが属するテーブル名を返す
booleanisAutoIncrement(int i)i番目のカラムが自動的に番号付けされるかどうか
booleanisCaseSensitive(int i)i番目のカラムの大文字小文字が区別されるかどうか
booleanisCurrency(int i)i番目のカラムがキャッシュの値かどうかを
booleanisDefinitelyWritable(int i)i番目のカラムの書込みが必ず成功するかどうか
intisNullable(int i)i番目のカラムにNULL値が許可されるかどうか
※戻り値は定数columnNoNulls、columnNullable、columnNullableUnknownのいずれか
booleanisReadOnly(int i)i番目のカラムが絶対的に書込み可能でないかどうか
booleanisSearchable(int i)i番目のカラムをwhere節で使用できるかどうか
booleanisSigned(int i)i番目のカラムの値が符号付き数値かどうか
booleanisWritable(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値です。

コメント

タイトルとURLをコピーしました