我有一个带有斑点字段的表。我需要将该表的数据复制到另一个表中。谁能告诉我在复制时如何处理Blob数据。
for(int i=0;i<jsonarr.length();i++)
{
JSONObject jsonO=jsonarr.getJSONObject(i);
if(jsonO.has("file_content") && jsonO.getString("file_content")!="null")
{
PS.setBlob(4, (InputStream) jsonO.get("file_content")); //Getting Error on this line
}
}
json数据示例
{
"territory_id": 10111,
"file_name": "page.html",
"file_size": 970,
"file_content": "UEdoMGJXdytEUW9OQ2p4b1pXRmtQZzBLUEcxbGRHRWdhSFIwY0MxbGNYVnBkajFEYjI1MFpXNTBMVlI1Y0dVZ1kyOXVkR1Z1ZEQwaWRHVjRkQzlvZEcxc095QmphR0Z5YzJWMFBYZHBibVJ2ZDNNdE1USTFNaUkrRFFvOGJXVjBZU0J1WVcxbFBVZGxibVZ5WVhSdmNpQmpiMjUwWlc1MFBTSk5hV055YjNOdlpuUWdWMjl5WkNBeE5TQW9abWxzZEdWeVpXUXBJajROQ2p4emRIbHNaVDROQ2p3aExTME5DaUF2S2lCR2IyNTBJRVJsWm1sdWFYUnBiMjV6SUNvdkRRb2dRR1p2Ym5RdFptRmpaUTBLQ1h0bWIyNTBMV1poYldsc2VUb2lRMkZ0WW5KcFlTQk5ZWFJvSWpzTkNnbHdZVzV2YzJVdE1Ub3lJRFFnTlNBeklEVWdOQ0EySURNZ01pQTBPMzBOQ2tCbWIyNTBMV1poWTJVTkNnbDdabTl1ZEMxbVlXMXBiSGs2UTJGc2FXSnlhVHNOQ2dsd1lXNXZjMlV0TVRveUlERTFJRFVnTWlBeUlESWdOQ0F6SURJZ05EdDlEUW9nTHlvZ1UzUjViR1VnUkdWbWFXNXBkR2x2Ym5NZ0tpOE5DaUJ3TGsxemIwNXZjbTFoYkN3Z2JHa3VUWE52VG05eWJXRnNMQ0JrYVhZdVRYTnZUbTl5YldGc0RRb0plMjFoY21kcGJpMTBiM0E2TUdsdU93MEtDVzFoY21kcGJpMXlhV2RvZERvd2FXNDdEUW9KYldGeVoybHVMV0p2ZEhSdmJUbzRMakJ3ZERzTkNnbHRZWEpuYVc0dGJHVm1kRG93YVc0N0RRb0piR2x1WlMxb1pXbG5hSFE2TVRBM0pUc05DZ2xtYjI1MExYTnBlbVU2TVRFdU1IQjBPdzBLQ1dadmJuUXRabUZ0YVd4NU9pSkRZV3hwWW5KcElpeHpZVzV6TFhObGNtbG1PMzBOQ2k1TmMyOURhSEJFWldaaGRXeDBEUW9KZTJadmJuUXRabUZ0YVd4NU9pSkRZV3hwWW5KcElpeHpZVzV6TFhObGNtbG1PMzBOQ2k1TmMyOVFZWEJFWldaaGRXeDBEUW9KZTIxaGNtZHBiaTFpYjNSMGIyMDZPQzR3Y0hRN0RRb0piR2x1WlMxb1pXbG5hSFE2TVRBM0pUdDlEUXBBY0dGblpTQlhiM0prVTJWamRHbHZiakVOQ2dsN2MybDZaVG80TGpWcGJpQXhNUzR3YVc0N0RRb0piV0Z5WjJsdU9qRXVNR2x1SURFdU1HbHVJREV1TUdsdUlERXVNR2x1TzMwTkNtUnBkaTVYYjNKa1UyVmpkR2x2YmpFTkNnbDdjR0ZuWlRwWGIzSmtVMlZqZEdsdmJqRTdmUTBLTFMwK0RRbzhMM04wZVd4bFBnMEtEUW84TDJobFlXUStEUW9OQ2p4aWIyUjVJR3hoYm1jOVJVNHRWVk0rRFFvTkNqeGthWFlnWTJ4aGMzTTlWMjl5WkZObFkzUnBiMjR4UGcwS0RRbzhjQ0JqYkdGemN6MU5jMjlPYjNKdFlXdytWMlZzWTI5dFpTQjBieUJVVlZRZ1ZFTk5JRkJoWVZNZ1ZHVnpkR2x1WnlCSVpXeHdJRkJoWjJVOEwzQStEUW9OQ2p3dlpHbDJQZzBLRFFvOEwySnZaSGsrRFFvTkNqd3ZhSFJ0YkQ0TkNnPT0=",
"creation_date": "2018-09-11T00:00:00Z",
"created_by": "abc@gmail.com",
"last_update_date": "2018-09-11T09:56:01Z"
}
答案 0 :(得分:0)
您可以这样做:
if(jsonO.has("file_content") && jsonO.getString("file_content")!="null"){
String fileContent = jsonO.getString("file_content");
PS.setBlob(4, new ByteInputStream(fileContent.getBytes("UTF-8")));
}
或:
if(jsonO.has("file_content") && jsonO.getString("file_content")!="null"){
String fileContent = jsonO.getString("file_content");
PS.setBlob(4, new SerialBlob(fileContent.getBytes("UTF-8")));
}
答案 1 :(得分:0)
如果出现任何问题,请发送至,因为您的代码注释是此写信
假设您要将数据保存到另一个表中,这是一个示例
for(int i=0;i<jsonarr.length();i++)
{
JSONObject jsonO=jsonarr.getJSONObject(i);
if(jsonO.has("file_content") && jsonO.getString("file_content")!="null")
{
PS.setBlob(4, (InputStream) jsonO.get("file_content"));
JDBCUtil.saveDate(PS);//saveData method execute SQL
}
}
希望我能帮助您