如何使用过程sql插入数据?

时间:2016-06-11 13:32:44

标签: java postgresql stored-procedures jdbc

今天我无法使用程序将数据插入Postgres数据库。我有一个程序来向它插入记录,但它有很多记录的速度很慢。可以帮助修复我的手术。

void insertRecord(ArrayList<Product> pro)throws Exception{
        Class.forName("org.postgresql.Driver");
        con=DriverManager.getConnection("jdbc:postgresql://localhost:5433/dbStock?","rina","2001");
        //con.setAutoCommit(false);

        CallableStatement stmt=con.prepareCall("{call MyInsert(?,?,?,?,?)}");

        for(Product p:pro){
            stmt.setInt(1, p.getId());
            stmt.setString(2, p.getName());
            stmt.setInt(3, p.getUnitprice());
            stmt.setInt(4, p.getQty());
            stmt.setString(5, p.getImportedDate());
            //pstm.executeUpdate();
            stmt.execute();
        }
        //con.commit();
    }


//main Method
    public static void main(String[] args)throws Exception {
            ArrayList<Product>pro=new ArrayList<>();
            for(int i=1;i<=1_00000;i++){
                pro.add(new Product(i,"coca",12,12,"2014"));
            }
            System.out.println("Done");
            Long start=System.currentTimeMillis();
            new dbObjectDriver().insertRecord(pro);
            long stop=System.currentTimeMillis();
            System.out.println(stop-start);
        }

0 个答案:

没有答案