- PR -

フィールドが猛烈に多いDBのテーブルを扱うコード

1
投稿者投稿内容
jmasu
会議室デビュー日: 2004/03/01
投稿数: 19
投稿日時: 2004-12-28 14:41
みなさんこんにちは。

今、DAO関連の実装をしているのですが、
今回扱うテーブルは鬼のようにフィールド数が多く
なかなかプログラマー泣かせです。

例えば、検索結果を1レコード分のインスタンスを
Collection系のクラスに追加していくとき、

list.add(new ValueObject(resultSet.getString("a"),resultSet.getInt("b"),
(同じ内容が約100項目)));

とget〜メソッドできっちりかいていくと大変です。

皆さんはこういうDBを扱うときどのようにコーディングされていますか?

省エネコーディング方法がありましたら教えていただけますと
幸いです。

最終的にはHibernateなどのO/Rマッピングツールに頼らんと
ダメかなぁとは思っています。

以上、よろしくお願いします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-12-28 16:00
1. Excel などでコードを生成する
お手軽ですね
1. RowSet を使う
そのまま VO として渡すことが出来ます
2. EJB を使う
開発ツールが getter/setter は自動的に用意してくれます
未記入
会議室デビュー日: 2003/09/24
投稿数: 18
投稿日時: 2004-12-28 16:19
引用:

今、DAO関連の実装をしているのですが、
今回扱うテーブルは鬼のようにフィールド数が多く
なかなかプログラマー泣かせです。

例えば、検索結果を1レコード分のインスタンスを
Collection系のクラスに追加していくとき、
list.add(new ValueObject(resultSet.getString("a"),resultSet.getInt("b"),
(同じ内容が約100項目)));

とget〜メソッドできっちりかいていくと大変です。
皆さんはこういうDBを扱うときどのようにコーディングされていますか?
省エネコーディング方法がありましたら教えていただけますと
幸いです。



 環境がわからないのでなんともいえませんが。
 その様子だと、コンストラクタやVOのJavadocを記述するのも一苦労ですね・・・
それらも含めて自動的に生成するのが良いかと思います。
 自分が同じ立場になったら、最低限の情報を入力として
Javaでコンソールに吐き出すプログラムを書いてしまうかもしれません。
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-12-29 02:47
どもです。がるです。
じぶんはこーゆーものを作る時は「プログラムを組んでくれるプログラム」を
作成します :-P
getter/setter その他、項目名以外は同一パターンのメソッドは、
データとして「項目名のリスト」を引渡し、後は自動で作成 :-P
あとは「個別部分のコード修正」であっというまにお手軽作成。

こんな方法もありますよ、って程度なのですが。
私はしょっちゅうやってるので、個人的には楽してまふ ^^
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-12-29 17:15
よくやるのはテーブル定義が Excel のシートに書かれていて、DDL や VO のコードをそっから生成する方法ですね。
マクロまで使うスキルがなくても文字列系の関数-CONCATENATE くらいで十分戦えます。
jmasu
会議室デビュー日: 2004/03/01
投稿数: 19
投稿日時: 2005-01-06 17:26
所要のため、年明けになってしまい、いまさら返信するのも
どうかと思ったのですが・・・・・・・。

皆さんいろいろアドバイスありがとうございました。
まずはお礼申し上げます。

やはりExcellなど別ツールを利用したり、
プログラムのためのプログラム作成が主流っぽいですね。

単純に私がJavaの仕様や、何がしかのフレームワークなどの
存在を知らないだけかも、と思って投稿してみたのですが、
今のところは「外部ツール」に頼る、という結論なのですね。

とてもためになりました。重ねて御礼申し上げます。




1

スキルアップ/キャリアアップ(JOB@IT)