long _retId = -1;
Connection con = null;
try {
con = queryRunner.getDataSource().getConnection();
queryRunner.update(con, sql.toString(), val);
Object _ret = queryRunner.query(con, "SELECT LAST_INSERT_ID() FROM " + getTableName(), new ScalarHandler());
if (_ret instanceof BigInteger) {
_retId = ((BigInteger) _ret).longValue();
} else if (_ret instanceof Long) {
_retId = (Long) _ret;
} else {
_retId = ((Integer) _ret).longValue();
}
} catch (SQLException e) {
throw e;
} finally {
ConnectionUtils.closeConnection(con);
}
注意:必须使用同一个Connection,否则会获取不到想要的结果