spring 搭建底层框架,本来简单的save保存对象,可是需要返回主键,那么就用一下代码实现。
public Long createOrder(final Order order) throws Exception {
KeyHolder keyHolder = new GeneratedKeyHolder();try {
jdbcTemplate.update(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(
Connection connection) throws SQLException {
//拼装插入数据库的sql
String sql = orderSql(order);
PreparedStatement ps = connection.prepareStatement(sql);
return ps;
}
}, keyHolder );
} catch (Exception e) {
e.printStackTrace();
return null;
}
return keyHolder.getKey().longValue();
}