2016-07-15 4 views
1

Java POJOに格納せずにデータベースからクエリ結果(Spring JDBC)を使用できますか?POJOに保存しないで結果を照会しますか?

私のプロジェクトで使用するクエリはたくさんありますか?私はそれらの大きなクエリの列名をPOJOの可変名にマップしたくないです 何か方法を提案してください?

+1

Yoは十分正確ではありません。どのようにデータを保存したいですか?そして、あなたのクエリからあなたのデータ型は上がっていますか? – davidxxx

答えて

1

RowSet

あなたは、JDBCを介して取得し、あなたのResultSetからRowSetを得ることができます。

RowSetインターフェイスの拡張子は、JVM内のメモリ内のデータ行を格納するためのものです。データベースへの接続を終了した後でも、引き続きCachedRowSetにアクセスすることができます。

オラクル社では、オープンソースのフリー・コスト(GPL 2ライセンス)を実装したCachedRowSetを提供しています。これはあなたのJavaインストールにバンドルされるかもしれません。そうでない場合は、ソースコードを別途入手することができます。この質問、Implementations of RowSet, CachedRowSet etcを参照してください。

詳細については、Oracle Tutorialを参照してください。驚くべきことに、RowSetインタフェースおよびその実装はほとんど注目を集めていない。彼らは私にとっては良い考えのようです。私は個人的に小規模なプロジェクトで成功したCachedRowSetのオラクル提供の実装を使用しました。

+0

ありがとうBasil Bou –

1

興味のある列のみにクエリを作成することはどうですか? マッピングを行うことの本質は、あまり分かりません。そうでなければ、プレーンなJava jdbcを使う必要があります。

オブジェクトとデータベーステーブルの間には接続がありません。 plain jdbcを使用している場合は、明示的に表と列を指定してください。 OR。エラーが発生しやすい表と列の名前を常に書く必要がないように、事前マッピングを行います。

  • のマッピング

    • 使用を要約しないように普通JDBC [POJO]
  • プレマッピングされ

    • XML構成
    • 注釈

は、XML構成を使用する場合は、POJOに見えるかもしれませんが、そうではありません。

+0

これは、Spring Jdbcを正しく使用するためにはまだPOJOを使用する必要があることを意味しますか? –

+0

編集した私の答え – Xenwar

+0

ありがとうXenwar、 –

関連する問題