写的ArrayList到数据库中的Java [英] Write arraylist to a database java

查看:391
本文介绍了写的ArrayList到数据库中的Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个的ArrayLists插入到数据库中的表2的列如下:

  arraylist1:123444,324555,6423643,532326
arraylist2:jkfdsl,nkjfsdlj,jdslkfjdlkj,jfsldjfsk,fjdlskjfs

我写了下面code插入的ArrayList,但它不工作。我将AP preciate你的帮助。

  {尝试
// prepare插入一条记录的声明SQL字符串=INSERT INTO soundsdata.splog(arraylist1,arraylist2)VALUES(?,?);
。数PreparedStatement pstmt =(preparedStatement)CON prepareStatement(SQL);pstmt.setArray(1,sptospring);
pstmt.setString(2,eachList.toString());//插入的行
pstmt.executeUpdate();
} {最后
pstmt.close();
}


解决方案

下面的东西,你可以这样做:

假设你想创建一个行,其中1号将包含第一个 ArrayList的内容以逗号分隔格式和第二将包含第二个的ArrayList的内容

  StringBuilder的缓冲=新的StringBuilder();
布尔processedFirst = FALSE;
字符串firstParam = NULL,secondParam = NULL;尝试{
    对于(字符串记录:arrayList1){
        如果(processedFirst)
            buffer.append(,);
        buffer.append(记录);
        processedFirst =真;
    }
    firstParam = buffer.toString();
}最后{
    缓冲= NULL;
}
processedFirst = FALSE;
缓冲区=新的StringBuilder();
尝试{
    对于(字符串记录:arrayList2){
        如果(processedFirst)
            buffer.append(,);
        buffer.append(记录);
        processedFirst =真;
    }
    secondParam = buffer.toString();
}最后{
    缓冲= NULL;
}
secondParam = buffer.toString();SQL字符串=INSERT INTO soundsdata.splog(arraylist1,arraylist2)VALUES(?,?);
尝试{
    。PSMT =(preparedStatement)CON prepareStatement(SQL);
    pstmt.setString(1,firstParam);
    pstmt.setString(2,secondParam);
    pstmt.executeUpdate();
} {最后
    pstmt.close();
}

I have two arraylists to insert into 2 columns in a database table as follows:

arraylist1: 123444, 324555, 6423643, 532326
arraylist2: jkfdsl, nkjfsdlj, jdslkfjdlkj, jfsldjfsk, fjdlskjfs

I wrote the following code to insert the arraylists but it is not working. I will appreciate your help.

try {
// Prepare a statement to insert a record

String sql = "INSERT INTO soundsdata.splog (arraylist1, arraylist2) VALUES(?,?)";
pstmt = (PreparedStatement) con.prepareStatement(sql);

pstmt.setArray(1,sptospring);
pstmt.setString(2,eachList.toString());

// Insert the row
pstmt.executeUpdate();
}finally {
pstmt.close();
}

解决方案

Here's something that you can do:

Assuming that you're trying to create one row, where the 1st column will contain the content of the first ArrayList in comma-separated format and the 2nd column will contain the content of the secondArrayList

StringBuilder buffer = new StringBuilder();
boolean processedFirst = false;
String firstParam = null, secondParam = null;

try{
    for(String record: arrayList1){
        if(processedFirst)
            buffer.append(",");
        buffer.append(record);
        processedFirst = true;
    }
    firstParam = buffer.toString();
}finally{
    buffer = null;
}
processedFirst = false;
buffer = new StringBuilder();
try{
    for(String record: arrayList2){
        if(processedFirst)
            buffer.append(",");
        buffer.append(record);
        processedFirst = true;
    }
    secondParam = buffer.toString();
}finally{
    buffer = null;
}
secondParam = buffer.toString();

String sql = "INSERT INTO soundsdata.splog (arraylist1, arraylist2) VALUES(?,?)";
try{
    psmt = (PreparedStatement) con.prepareStatement(sql);
    pstmt.setString(1,firstParam);
    pstmt.setString(2,secondParam);
    pstmt.executeUpdate();
}finally {
    pstmt.close();
}

这篇关于写的ArrayList到数据库中的Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆