版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32403351/article/details/76595225
主要用于sql语句的生成,可以举一反三来做点其他事情。。。。
public static void main(String[] args) { String oracleSql="insert into 表名 "+"(id,字段1,字段2) values(%v)"; String sql=oracleSql; File file=new File("D:\\你的csv文件.csv"); BufferedReader reader=null; try { DataInputStream in=new DataInputStream(new FileInputStream(file)); reader=new BufferedReader(new InputStreamReader(in,"GBK")); String tempString=null; int line=1; reader.readLine(); while ((tempString=reader.readLine())!=null){ line++; tempString=tempString.replace("\"",""); String[] values=tempString.split(","); //此处的0是下标,可以给ID设置成自增(ID自增就要把下标0去掉,上面的ID写成ID_SEQ.nextval) String value="'"+values[0]+"'," +"'"+values[1]+"'," +"'"+values[2]+"',"; String finalSql=sql.replace("%v",value); System.out.print(finalSql);//输出打印sql语句 //每隔1000行打印一次commit;语句 if(line % 1000==0){ System.out.print("commit;"); } } System.out.print("commit;"); reader.close(); }catch (Exception e){ e.printStackTrace(); }finally { if (reader!=null){ try { reader.close(); }catch (IOException o){ o.fillInStackTrace(); } } } }