使用jdbctemplate做插入时想返回插入后的自增主键ID,原先的使用方法是
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
int i = 0;
PreparedStatement ps = conn.prepareStatement(insertSql, Statement.RETURN_GENERATED_KEYS);
ps.setString(++i, );
return ps;
}
},
keyHolder);
keyHolder.getKey().longValue()抛出了异常
The getKey method should only be used when a single key is returned. The current key entry contains multiple keys
而后百度上查资料,终于找到解决方式,把Statement.RETURN_GENERATED_KEYS改成new String [] {"id"}即可