Java 读取csv文件拼sql语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_32403351/article/details/76595225