1

DBテーブルの列名と関連付けられたデータに基づいてJavaBeanを動的に構築する方法はありますか?たとえば、dbテーブルの5つの列が戻ってきた場合、それらの5つの列名を変数として使用してjavaBeanを作成し、それらのゲッター/セッターも作成する必要があります。次回、7つの列を取得すると、7つの変数を持つjavaBeanを作成できます。

4

5 に答える 5

1

これはバイトコード操作でできると思います。

2 つの主要なライブラリは次のとおりです。

于 2012-07-23T06:06:32.017 に答える
0

「動的な」Bean である必要はありません。 のような Map バリアントを使用できますHashMap。それは何も悪いことではありません。

Map<String,Object> results = new HashMap<String,Object>();
// .. fill results ...
// .. then
Object someData = results.get("someDataKey");
于 2012-07-23T06:04:48.187 に答える
0

DynaBeanを使用できます。

DynaBean は、名前とデータ型、および値を動的に変更できるプロパティをサポートする Java オブジェクトです。可能な限り、BeanUtils パッケージの他のコンポーネントはそのような Bean を認識し、プロパティ値を取得および設定する目的でそれらを標準の JavaBeans として扱います。

于 2012-07-23T06:19:49.740 に答える
0

答えはノーだ。実行時に変数を要求することはできません。あなたができることはです。

Map<String, Map> results = new HashMap<String, Map>();
// Associate each column with a new map and put it in results.
// Take each variable from column and associate it with the corresponding column's hashmap.
于 2012-07-23T06:09:04.923 に答える
0

可変フィールドを持つオブジェクトを持つことはできないと思いますが、Map を使用して結果を保存することはできます。それがあなたの望むものに最も近いかもしれません。

于 2012-07-23T06:02:56.363 に答える