Java 使用ArrayList填充mysql数据库行

Java 使用ArrayList填充mysql数据库行,java,mysql,database,arraylist,Java,Mysql,Database,Arraylist,我需要将ArrayList中的每个项添加到数据库中。我可以使用for each循环将文件中的每一行项目输出到控制台窗口,但是如何使用此循环将每一项添加到mysql数据库行 FileInputStream fstream = new FileInputStream(file); BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); StringBuffer sb = new Strin

我需要将ArrayList中的每个项添加到数据库中。我可以使用for each循环将文件中的每一行项目输出到控制台窗口,但是如何使用此循环将每一项添加到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=新的FileInputStream(文件);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fstream));
StringBuffer sb=新的StringBuffer();
ArrayList store=新的ArrayList();
弦斯特林;
//逐行读取文件
而((strLine=br.readLine())!=null)
{
String[]splitLine=strLine.split(“\n”);
用于(字符串x:拆分线)
{
System.out.println(“行:+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);

                }
            }
FileInputStream fstream=新的FileInputStream(文件);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fstream));
弦斯特林;
而((strLine=br.readLine())!=null)
{
String[]splitLine=strLine.split(“\n”);

对于(int i=0;i您可以使用hibernate为数据库表创建POJO。您可以创建此POJO的arraylist,保存后,arraylist将(批量)插入数据库。

学习jdbc的时间:替换
System.out.println()
使用要添加到数据库的代码。正如@Lucas所说,这将通过
JDBC
完成。我知道如何建立连接,而且我也了解准备好的语句,我只是想不出将arraylist对象的字符串值添加到数据库行的每个字段所需的代码,我已经阅读了您阅读的页面链接到多次,似乎无法计算代码段。如果您理解
PreparedStatement
,则只需将每个
x
设置为语句的参数,然后执行语句以插入它。请不要使用DataInputStream读取文本文件。您不需要它,因此请删除i您应该为OP提供一些代码示例(或者至少提供一个指向示例的链接)。