@Override
	public Object execute(Object obj, Object[] args) {
		// 获取实际的PreparedSQL和调用参数
		String actualSql = definition.getActualSql(args);
		List<Object[]> paramArrays = ReflectionUtils.generateBatchQueryArguments(args, definition);

		KeyHolder keyHolder = null;
		if (definition.isReturnId()) {
			keyHolder = dataAccessor.getKeyHolder();
		}

		LOGGER.info("批量更新操作执行SQL[" + actualSql + "]");
		int[] rows = dataAccessor.batchUpdate(actualSql, paramArrays, keyHolder);

		if (keyHolder != null) {
			List<Number> keys = getKeysFromKeyHolder(keyHolder);
			return formatKeys(keys, definition);
		} else {
			return rows;
		}
	}