日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实现sql批量插入参数

發布時間:2025/4/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现sql批量插入参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:

? ? ?需要更新一些不規范的時間格式,如將某個時間格式化為yy-MM-dd,實際上為 yy-MM-dd hh:mm:ss,并且需要提供回滾腳本。

例如:規范化時間的腳本如下:

update test set test_date=substring(account_date,1,10) WHERE test_date>'2017-06-01 00:00:00' AND test_date<'2017-09-07 00:00:00'

這個腳本是ok,但執行時受到影響的行數如果有幾百條甚至上千條記錄的話,回滾腳本怎么寫呢?

模板如下:

update test set test_date= '' where id='';

1.首先,從test表中查出上述的參數:

select id,test_date from test where test_date>'2017-06-01 00:00:00' AND test_date<'2017-09-07 00:00:00'

將結果導入到文本中,名為為param.txt

2.然后運行以下java程序,打印出可執行的回滾腳本

private void insertData() throws IOException{ FileReader reader = new FileReader("D:\\document\\load\\data1.txt");BufferedReader br = new BufferedReader(reader); String updateSql="update test set test_date= '' where id='';";String line = null;Integer count=0;String[] param=new String[2];String regexp = "\'\'";while((line = br.readLine()) != null) {param=line.split("\\\t");String first=updateSql.replaceFirst(regexp,"\'"+param[1]+"\'");String second=first.replaceFirst(regexp,"\'"+param[0]+"\'");System.out.println(second);count++;}br.close();reader.close();}

3.如果行數較多,需要打印到文件中(Console打印的記錄數受限的)

private void insertData() throws IOException{ FileReader reader = new FileReader("D:\\document\\load\\data1.txt");BufferedReader br = new BufferedReader(reader); StringBuffer sbf=new StringBuffer();String updateSql="update test set test_date= '' where id='';";String line = null;Integer count=0;String[] param=new String[2];String regexp = "\'\'";while((line = br.readLine()) != null) {param=line.split("\\\t");String first=updateSql.replaceFirst(regexp,"\'"+param[1]+"\'");String second=first.replaceFirst(regexp,"\'"+param[0]+"\'");//System.out.println(second);sbf.append(second).append("\n");count++;}writeFile("D:\\document\\load\\rollback.sql", sbf);br.close();reader.close();}public void writeFile(String fileName,StringBuffer stf) throws IOException {BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));writer.write(stf.toString()); writer.close();}

?

轉載于:https://www.cnblogs.com/davidwang456/p/7494615.html

總結

以上是生活随笔為你收集整理的java实现sql批量插入参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。