DBテーブルの列名と関連付けられたデータに基づいてJavaBeanを動的に構築する方法はありますか?たとえば、dbテーブルの5つの列が戻ってきた場合、それらの5つの列名を変数として使用してjavaBeanを作成し、それらのゲッター/セッターも作成する必要があります。次回、7つの列を取得すると、7つの変数を持つjavaBeanを作成できます。
質問する
2158 次
5 に答える
1
これはバイトコード操作でできると思います。
2 つの主要なライブラリは次のとおりです。
- javassist - http://www.csg.ci.iu-tokyo.ac.jp/~chiba/javassist/
- asm - http://asm.ow2.org/
于 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 に答える