JDBCを使用してデータベースからデータを読み取っています。データは以下のようになります。
このデータをPost APIを使用してアプリケーションに挿入する必要があります。そのため、APIが受け入れる形式でデータをファイルに書き込む必要があります。
OrgName.json
以下のフォーマットでファイルを作成します。
{
"delete": [
{
"canonicalName": "TCS"
}
],
"update": [
{
"canonicalName": "Wipro tech"
"synonyms": [
"Wipro technology"
]
},
{
"canonicalName": "Infosys"
"synonyms": [
"Infosys tech"
]
}
]
"add": [
{
"canonicalName": "Apple Computers",
"synonyms": [
"Apple"
]
},
{
"canonicalName": "Google India",
"synonyms": ["Google"]
}
]
}
したがって、3つのグループ化があります。すべてupdate
の値が入って来ますupdate
、タグadd
の値add
タグOPERATION列にとベースdelete
にdelete
タグ。ORGNAME
値がcolumn
されますcanonicalName
に名前を付けますfile
。場合synonyms
でnull
、それはあるだろう他に存在しません。
私はJDBCをJavaで知っています。executeQuery
of Preparedstatement
を使用してデータを読み取り、を使用してコンソールに表示できますsysout
。しかし、上記の形式でファイルにデータを書き込むことができません。
誰かが私を助けてくれますか?私はデータベース開発者なので、どうすればいいのか考えられません。最小限の助けでさえ、私にはたくさんあります。
Resultset
上記のファイルに変換したいのですが、できません。
DB内に情報があるため、タスクを分離することが重要です。
タスク1は完了です。データにアクセスして取得できます。
タスク2では、属性orgName、シノニム、および操作を文字列型として含むData.javaクラスを作成する必要があります。*ゲッターとセッターを含みます。
このクラスをテーブルの1つのレジスタとして見る必要があります。次に、Data.javaのリストを生成して、テーブルを「複製」する必要があります。
これは次のように行うことができます:
List<Data> dataList = new ArrayList<>();
//Your database code
ResultSet rs = pstmt.executeQuery();
while (rs.next) {
Data data = new Data();
data.setOrgName(rs.getString("OrgName"));
data.setSynonyms(rs.getString("Synonyms"));
data.setOperation(rs.getString("Operation"));
dataList.add(data);
}
これで、dataListをオブジェクトとして印刷できます。
次の2つのステップは一緒に実行できます。dataList(foreach)内の各オブジェクトについて、OrgName.jsonファイルの生成を開始できます。グループの削除、追加、変更が重要です。
これは次のように行うことができます:
JSONObject obj = new JSONObject();
JSONArray delete = new JSONArray();
JSONArray modify = new JSONArray();
JSONArray add = new JSONArray();
for (Data data : dataList) {
switch (data.getOperation()){
case "delete":
//This means that its is a delete object
JSONObject obj = new JSONObject();
obj.put("canonicalName", data.getOrgName());
delete.add(obj);
break;
case "add":
//This means that its is an add object
// similar to delete
break;
case "modify":
//This means that its is a modify object
//Similar to delete
default:
break;
}
}
その後、FileWriterを使用してファイルを生成できます。
このリンクを見てください:JSONオブジェクトをファイルに書き込み、クエリを実行してRSを反復します
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加