2009-04-17 9 views
4

私たちは、データベースにアクセスするためにEJB 2.1とJDBCの組み合わせを使用しています。SQLクエリはどこに置いていますか?

私はちょうど彼のSQLクエリを.propertiesファイルに入れるというアイデアを述べました。

どのようにSQLクエリを配置しますか?

EDIT:

あなたはクラスのインスタンスに入れ、コードでそれをインライン化しますか?

答えて

4

私たちは、SQLクエリをDAOの文字列リテラルとして保存します。 DAOは、潜在的に醜いSQL構文を残りのアプリケーションから隠します。 DAOコードを掘り下げると、使用されるコンテキストでSQLクエリを使用すると、コードを理解しやすくなります。

6

DAOs私はアプリケーションの一部であり、アプリケーションの構成可能な(sysadminによって変更可能な)要素ではないと考えているためです。

1

私はすべてのクエリがIbatis XMLファイルに存在するようにIbatisを使用します。そうでなければ、IbatisはDAO Javaコードにあります。

1

通常、クエリを使用するDAO実装で静的な文字列としてクエリを追加します。

2

ここで私たちはSQLファイルを保存するためにプロパティファイルを使用しています。私はいつもそれがコード内にあるときにむしろ乱雑に見えると思って以来、私はそれが大好きです。私は実際にはsysの管理者が設定することはできません。なぜなら、それらはすべてjarにバンドルされ、したがって見えないからです。

+0

主な理由私はこのフォームに同意しないのは、すべてを分離することになるからです。何らかの理由で私がコードを読む必要があるなら、私はそれを見つけるために巨大なプロパティファイルにジャンプする必要があります。 –

+2

しかし一方で、コードをより読みやすくすると同時に、SQLを別々のファイルに読み込みやすくします。おそらく個人的な好みの問題:) – willcodejavaforfood

+0

プロパティは、テキストファイルのブリッジとしても機能する可能性があります。 SQLクエリがテキストファイルに格納されていた場合、そのプロパティにはコードを読み込んでより複雑なクエリの文字列として返すことができます。 – Adam

関連する問題