職場では、週に数回パラメーターを変更するクライアントのレポートを生成する必要があります。このレポートは、データベースの単一のテーブルから生成されます。たとえば、100 列のテーブルがあり、今日は 5 列のみのレポートを生成する必要があり、明日は 95 列で生成する必要があるとします。これを念頭に置いて、指定されたテーブルのすべての列を持つ TO クラスを作成し、クエリはすべての列 (SELECT * FROM TABLE) を返します。
私が作成しようとしているのは、レポートを生成するための動的フォームです。最初に、チェック ボックスとしてリストされた列のリストを含む単純なフレームを作成することを考えました。ユーザーは必要な列を選択します (もちろん、すべてを選択するボタンとすべてを選択解除するボタンを使用します)。
すべての列が TO クラスの属性と同じ名前を持っているため、次のコードを開発しました (これは Google で取得しています)。
Class c = Test.class;
for(int i = 0; i < listOfAttributes.length; i++)
{
auxText += String.valueOf( c.getMethod( "get" + listOfAttributes[i]).invoke( this, null ) );
}
これは私が必要とすることを行うためのより良い方法ですか?
前もって感謝します。
Obs.: TO クラスの getter には、パターン "getAttribute_Name" があります。
注: この質問は、ユーザーが特定の名前のメソッドを呼び出す方法を尋ねる質問とは異なります。私はそれを行う方法を知っています。私が求めているのは、これが私が説明した問題を解決するためのより良い方法であるかどうかです。