2013-03-25 110 views
-1

我需要将ArrayList中的每个项目添加到数据库。我可以得到每个循环将文件中的每个行项目输出到控制台窗口,但是如何使用此循环将每个项目添加到mysql数据库行?使用ArrayList填充mysql数据库行

FileInputStream fstream = new FileInputStream(file); 
    BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
    StringBuffer sb = new StringBuffer(); 
    ArrayList<String> store = new ArrayList<String>(); 
    String strLine; 

    //Read File Line By Line 
while((strLine = br.readLine())!= null) 
{ 
    String [] splitLine = strLine.split(" \n"); 
    for(String x : splitLine) 
    { 

     System.out.println("Line: "+ x +"\n"); 

    } 
} 

------ ----更新

好吧,我已经修改了代码

FileInputStream fstream = new FileInputStream(file); 
    BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
    String strLine; 

     while((strLine = br.readLine())!= null) 
      { 
       String [] splitLine = strLine.split(" \n"); 
       for(int i=0;i<splitLine.length;i++) 
       {   
        // Prepare the query and values to be inserted into the database 
        String str="INSERT INTO donations(name,charity,amount) VALUES (?,?,?)"; 

        java.sql.PreparedStatement statement = conn.prepareStatement(str); 
         String db1 = splitLine[0]; 
         String db2 = splitLine[1]; 
         Double db3 = Double.parseDouble(splitLine[2]); 

        statement.setString(1,db1); 
        statement.setString(2,db2); 
        statement.setDouble(3,db3); 


       System.out.println("Line: "+ splitLine[i]+ " -record- " + i); 

       } 
      } 
+3

学习jdbc的时间:http://docs.oracle.com/javase/tutorial/jdbc/basics/sig2=O8bURWq-gsHnhtDNK9DVlQ&bvm=bv.44158598,d.dmg – Lucas 2013-03-25 19:10:19

+1

替换'System.out.println() '用代码添加到数据库中。就像@Lucas所说的那样,这将通过'JDBC'完成。 – 2013-03-25 19:12:18

+0

我知道如何建立连接,我也了解准备好的语句,我只是无法弄清楚将arraylist对象的字符串值添加到数据库行的每个字段的必要代码,并且我已经阅读了您的页面链接了好几次,似乎无法获得代码段。 – 2013-03-25 19:35:04

回答

0

你可以使用Hibernate和创建数据库表中的POJO。您可以创建此POJO的阵列列表,并在保存时,阵列列表将被(批量)插入到数据库中。

+0

您应该为OP提供一些代码示例(或至少指向示例的链接)。 – 2013-03-25 19:50:34