@Transactional
public JsonMap update(String tableName, String column) {
Member member = null;
HttpURLConnection httpUrl = null;
URL url = null;
// 查询符合条件的记录
String querySql = "SELECT id, "+column+" from " + tableName + " where flag = 1 and locate('http://image.9jmxep.com/',"+ column +")>0";
List valueList = new ArrayList<>();
Query query = entityManager.createNativeQuery(querySql);
valueList = query.getResultList();
try {
for(int i=0; i<valueList.size(); i++)
{
// Object数组转化
Object[] object =(Object[]) valueList.get(i);
Integer id = Integer.parseInt(object[0].toString());
String oldColumnValue = object[1].toString();
String[] destUrl = oldColumnValue.split(",");
if (destUrl == null ){
continue;
}
int num = oldColumnValue.indexOf("http://image.9jmxep.com/");
if (num == -1){
continue;
}
String newColumnValue = "";
// 流文件上传到服务器
for (int j=0; j<destUrl.length; j++)
{
if(destUrl[j].indexOf("http://image.9jmxep.com/") == -1) {
newColumnValue += destUrl[j] + ",";
continue;
}
String name = destUrl[j].replaceFirst("http://image.9jmxep.com/","");
url = new URL(destUrl[j]);
httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.connect();
newColumnValue += OSSHelper.upload(name,httpUrl.getInputStream()) + ",";
}
// 更新
String updateSql = "update " + tableName + " set " + column +" = ?1 where id = "+ id;
entityManager.createNativeQuery(updateSql).setParameter(1, newColumnValue).executeUpdate();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if (httpUrl != null){
httpUrl.disconnect();
}
}
return new JsonMap();
}
g
批量更换图片
最新推荐文章于 2024-07-20 23:55:03 发布