ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

DatabaseMetaDataとResultSetMetaData

2009-04-10 05:48:17 | PG(Java)

JDBCのメタデータにはDatabaseMetaDataとResultSetMetaDataがある。
どちらでもテーブルの項目の属性を取得できるが、違いがあるようなのでちょっと比較してみた。

ResultSetMetaDataはSELECT文を実行しないといけないので静的な情報(テーブル定義)を取得する目的ではないような気がするが、逆にSELECT文で演算したりした場合も属性が取得できるので、SQL実行時に使うにはResultSetMetaDataの方がいいようだ。

DatabaseMetaDataでは項目の型の桁数を取得するのにCOLUMN_SIZEというのがあって、ResultSetMetaDataで対応するのがgetColumnDisplaySize()かと思ったら、取れる値が違う。
ResultSetMetaDataの方では桁数を取得するメソッドが無いのかーと思ったら、getPrecision()がそのメソッドらしい。やはりJavadocはちゃんと見るべきだな^^;
しかしなんで他のメソッドは「getColumn」で始まってるのに、これはそうじゃないんだ(苦笑)
ついでに、isNullable()もちょっと微妙。「is」で始まってるからbooleanかと思いきや、戻り値はint。自分もこういう命名はたまにやっちゃうけど、あんまり良くないよな(苦笑)


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« JSeparatorとかBorderとか | トップ | ポップアップメニュー »
最新の画像もっと見る

コメントを投稿

PG(Java)」カテゴリの最新記事