java实现sql批量插入参数
生活随笔
收集整理的這篇文章主要介紹了
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批量插入参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python2 与 python3 语法
- 下一篇: 爬虫推荐的工具