docs: public static Long executeForGeneratedKey(Connection conn, String sql, Object... params) throws SQLException {
  		PreparedStatement ps = null;
  		ResultSet rs = null;
  		try {
  			ps = StatementUtil.prepareStatement(conn, sql, params);
  			ps.executeUpdate();
  			rs = ps.getGeneratedKeys();
  			if (rs != null && rs.next()) {
  				try {
  					return rs.getLong(1);
  				} catch (SQLException e) {
  					// 可能会出现没有主键返回的情况
  				}
  			}
  			return null;
  		} finally {
  			DbUtil.close(ps);
  			DbUtil.close(rs);
  		}
  	}