2016-05-02 7 views
1

私たちのRDBMSから返されたResultSetに基づいてJSONオブジェクトを構築しようとしています。 ResultSetの各行は、JSONの一部として配列に追加する1つのオブジェクトを表します。別のファイルでJSONスキーマが定義されています。定義済みのスキーマに基づいてJSONを構築する方法を理解しようとしています。データベース結果をJavaで動的に構築する

これが最善のアプローチであるかどうかはわかりませんが、正直です。最初にこれにアプローチする方法を調べると、私はJsonObjectBuilderを見ていましたが、関連するフィールドの数がかなり乱雑になるでしょう。

私は、ResultSetからデータを保持するPOJOを作成し、Jackson ObjectMapperを使用して目的のJSON形式に変換することが最善の策だと考えています。要するに

  1. は、どのように私は動的にスキーマに基づいて、データベースクエリの結果が移入JSONオブジェクトを作成しますか?
  2. これは実現可能ではない、または効率的でない場合は、データベースクエリの結果が格納され、特定の形式を遵守しているJSONオブジェクトを動的に作成するために、
+0

JSONには正確に何が必要ですか?私が質問を正しく理解すると、シリアライズ可能なPOJOが動作します –

+0

JSONは別のデータベースへの処理/挿入のために別のエンドポイントにPOSTされます。そのため、特定のフォーマットに従わなければなりません。 – dxh3707

+1

そして、私はあなたがRDBMSを守らなければならないと思いますか?その場合は、DB-> POJO-> JSONを使用するのが最適です。 –

答えて

1

JDBCゲームから脱出することを検討してください。 MyBatisとHibernate(おそらく他のlibsも同様)は、あなた自身のロールを使って行うよりもはるかに優れた仕事をします。 MyBatisにない機能が必要な場合は、シンプルなもの用のMyBatisとHibernateをお勧めします。

これを念頭に置いてください。 MyBatisクエリの結果用のPOJOを作成し、JSON(またはgsonまたは他のJSONライブラリ)を使用してJSONを作成します。

関連する問題