1

ファイルから行を読み取り、エンジンを使用してそれらを変換し、出力をデータベース (構成可能) に書き込む必要があるユースケースがあります。独自のクエリ ビルダーを作成することはできますが、利用可能なソリューション (ライブラリ) が既にあるかどうかを知りたいと思っていました。

私はオンラインで検索してjOOQライブラリを見つけることができましたが、タイプセーフでコード生成ツールを持っているように見えるので、おそらく静的データベーススキーマに適しています. 私が持っているユースケースでは、dbを動的に構成でき、メタデータはプログラムで読み取られ、書き込み目的で使用できるようになります(したがって、テーブルのリストが使用可能になり、ユーザーは書き込む列と挿入スクリプトを選択できますこれらの列は動的に作成する必要があります)。

ユースケースに役立つライブラリはありますか?

4

3 に答える 3

2

データベース構造を照会し、GUI を介して結果を表示し、ユーザーがファイルからその構造にデータをマップする必要があることを正しく理解していれば?

これが事実であると仮定すると、あなたは「ライブラリ」を探しているのではなく、ETLツールを探しています。

または、自分で何かを書きたい場合、これを行う (非常に) 基本的な方法は次のとおりです。

  • を使用したデータベースの構造Connection.getMetaData()。正確な使用法はドライバーによって異なる可能性があるため、ニーズに合った抽象化レイヤーを作成する必要があります。ここでのテーブル構造に興味があるだけだと思います。
  • ファイルの形式は、テーブルと同様の構造にマップする必要があります。
  • ユーザーが必要な型マッピングを含む、ファイルからテーブル内の列に要素を接続できるようにする GUI を提供します。
  • ファイル要素から列へのマッピングに基づいて、パラメーター化された挿入ステートメントを作成します。これは、単純な文字列連結です。
  • loop はファイル内の行をスローし、それぞれに対してバッチ挿入を実行します。

私のアドバイスは、ETLツールを取得することです。これは単純な問題のように聞こえますが、特異性に満ちています。80% のソリューションを取得することさえ困難であり、時間がかかります。

于 2013-05-08T07:59:10.970 に答える
0

必要な設定は次のとおりです。

  1. 行を読む

  2. 各行をオブジェクトに構築する

  3. 上記のオブジェクトをターゲット オブジェクトに変換します

  4. ターゲットオブジェクトをデータベースに挿入します

上記の 4 つの手順のうち、実行する必要があるのは手順 3 だけです。

上記の目的のために、 TransmorphEZMorphCommons-BeanUtilsDozerなどを使用できます。

于 2013-05-08T07:58:22.640 に答える