是否可以在java中使用batchupdate基于表id的增量序列?
我正在使用jdbc模板的是否可以在java中使用batchupdate基于表id的增量序列?,java,jdbctemplate,Java,Jdbctemplate,我正在使用jdbc模板的batchUpdate。我想根据表id增加一个表列。我正在使用下面的代码,但得到异常 String sql = "INSERT INTO TEMP (Table_Id, STATUS, VERSION,Name) " + "VALUES (?, ?, SELECT (VERSION+1) FROM (SELECT VERSION, Table_Id, MAX(VERSION) OVER(PARTITION BY Table_Id)
batchUpdate
。我想根据表id增加一个表列。我正在使用下面的代码,但得到异常
String sql = "INSERT INTO TEMP (Table_Id, STATUS, VERSION,Name) " +
"VALUES (?, ?, SELECT (VERSION+1) FROM (SELECT VERSION, Table_Id, MAX(VERSION) OVER(PARTITION BY Table_Id) MAX_V FROM TEMP ) WHERE Table_Id = ? AND VERSION = MAX_V, ?)";
getJdbcTemplate().batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i){
try {
TDetails customer = chngCustStus.get(i);
ps.setInt(1, customer.getTableId());
ps.setInt(1, customer.getStatus());
ps.setInt(1, customer.getTableId());
ps.setInt(1, customer.getName());
} catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public int getBatchSize() {
return chngCustStus.size();
}
我认为getJdbcTemplate().batchUpdate不可能增量序列生成,因为一旦total insert list准备好作为批处理文件,然后连接到数据库,所以在连接之前不可能增量序列。如果出现异常,请添加stacktrace。是,我遇到了一个异常。这样有什么解决方案吗?为什么不添加stacktrace。