private Number executeDb(DataSource ds, String sql, Object[] args) {
Number r = null;
long now = System.nanoTime();
try {
if (returnGeneratedId) {
GeneratedKeyHolder holder = new GeneratedKeyHolder(returnType);
jdbcTemplate.update(ds, sql, args, holder);
r = holder.getKey();
} else {
r = jdbcTemplate.update(ds, sql, args);
}
} finally {
long cost = System.nanoTime() - now;