我有一个列表数据,我必须使用jdbc

时间:2016-03-15 10:04:20

标签: java

我有一个列表数据,我必须使用jdbc将其插入数据库。我的问题是列表的大小并不总是恒定的,有时它给出ArrayIndexOutOfBoundExp。所以我需要动态插入记录。

目前我正在为列表大小10插入记录,现在如果我得到大小为5的列表呢?

public void setValues(PreparedStatement ps, int ean) throws SQLException {

    ps.setLong(1,Id);

2 个答案:

答案 0 :(得分:0)

您可以通过列表迭代(包括java 8流方法):

List<String> columnsList = mpGeometryBeanList.get(mpGeometryBeanIndex);
for(int i = 0; i < columnsList.size(); i++){
  ps.setString(i + 2, columnsList.get(i));
}

或者您可以将准备好的语句更改为接受列表值(需要查看更多代码)

答案 1 :(得分:0)

使用for循环。

ps.setLong(1,attachmetId);
for(int i=0; i<mpGeometryBeanList.get(mpGeometryBeanIndex).getColumnList().size(): i++){
    ps.setString(i+2,mpGeometryBeanList.get(mpGeometryBeanIndex).getColumnList().get(i));
}