主要用于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();
}
}
}
}