我重定义了一个BatchPreparedStatementSetter对象,set参数的时候使用的是字符串数组,来传入一个个参数的值.当我需要传入一个序列器(S_BUS)作为其中一个值的时候,发现S_BUS传入数组链表LinkedList<Object[]> batch后,取出赋值(ps.setString(j + 1, (String) cellValues[j]);)的时候,是作为一个字符串"S_BUS.nextval",而不是我想要的序列器的值(1)插入数据库的,请问我要怎样才能解决这个问题呢? 谢谢! public int[] updateBatch(String insertSql, final LinkedList<Object[]> batch)
{
BatchPreparedStatementSetter bpss = new BatchPreparedStatementSetter()
{ public int getBatchSize()
{
return batch.size();
} public void setValues(PreparedStatement ps, int i)
throws SQLException
{
String[] cellValues = (String[]) batch.get(i);
// i每次调的时候自动加1
// System.out.println(i);
for (int j = 0; j < cellValues.length; j++)
{
// System.out.println((String) cellValues[j]);
// System.out.println(batch.get(i)[0]);
ps.setString(j + 1, (String) cellValues[j]);
} } };
return this.jdbcTemplate.batchUpdate(insertSql, bpss);
}

解决方案 »

  1.   

    楼主我教你怎么贴代码:
    1、将代码作良好的格式化,以方便读者。
    2、在发帖文本框的上方单击字体颜色右边的按钮,选择 Java
    3、将代码粘贴到【code=Java】和【/code】之间。就会得到下面的效果:public class Hello {    public static void main(String[] args) {
            System.out.println("Hello!");
        }
    }
      

  2.   

    谢谢二楼,我重新表述一下问题:
    我重定义了一个BatchPreparedStatementSetter对象,set参数的时候使用的是字符串数组,来传入一个个参数的值.当我需要传入一个序列器(S_BUS)作为其中一个值的时候,发现S_BUS传入数组链表LinkedList <Object[]> batch后,取出赋值(ps.setString(j + 1, (String) cellValues[j]);)的时候,是作为一个字符串"S_BUS.nextval",而不是我想要的序列器的值(1)插入数据库的,请问我要怎样才能解决这个问题呢? 谢谢! 
    public int[] updateBatch(String insertSql, final LinkedList <Object[]> batch) 

    BatchPreparedStatementSetter bpss = new BatchPreparedStatementSetter() 
    { public int getBatchSize() 

    return batch.size(); 
    } public void setValues(PreparedStatement ps, int i) 
    throws SQLException 

    String[] cellValues = (String[]) batch.get(i); 
    // i每次调的时候自动加1 
    // System.out.println(i); 
    for (int j = 0; j < cellValues.length; j++) 

    // System.out.println((String) cellValues[j]); 
    // System.out.println(batch.get(i)[0]); 
    ps.setString(j + 1, (String) cellValues[j]); 
    } } }; 
    return this.jdbcTemplate.batchUpdate(insertSql, bpss); 
    }
    谢谢! 请帮我看看