2017-02-22 1 views
1

まず最初に、この質問をここに掲載することについてはまだわかりません(関連する回答は見つかりませんでした)。私はシナリオを持っています。そこでは、DBテーブルの新しい列がしばらく導入されるでしょう。したがって、私はこの新しい列を読み書きするためにコントローラ/アクションクラスを変更する必要があります。だから、私はJavaクラスでこの変更に対応する方法(もしあれば)を探しています。新しい列が導入されるたびに、javaクラスは値を読み書きできなければなりません。Javaコードの新しいテーブル列を動的に処理する方法

ありがとうございます。

KeerthiクマールN

+0

* DBテーブルの新しい列は、毎日*、毎日導入されますか?毎週 ?毎月?毎年 ?それが頻繁に発生する場合は、代わりにデータモデリングに集中する必要があります。あなたが要件をクリアしている場合、それは頻繁にすることはできません。 – Ravi

+0

新しい列が表示されていないか、ビジネスロジックで使用されていない場合でも、新しい列があっても無効です(null許容列を前提とします) –

答えて

1

あなたは、テーブルのメタデータを取得するためにのResultSetMetaDataクラスを使用することができます。

Statement stmt = connection.createStatement(); 
ResultSet rs = stmt.executeQuery("SELECT * FROM YOUR_TABLE"); 
ResultSetMetaData metadata = rs.getMetaData(); 

for(int i=1; i<=metadata.getColumnCount(); i++) 
    System.out.println(metadata.getColumnName(i)); 

ただし、毎回、アプリケーションのオーバーヘッドである列を確認する必要があります。

関連する問題