protected void initDefinition(Method method) throws DaoGenerateException {
		checkBeforeParse(method);

		// 解析方法参数
		Class<?>[] paramTypes = method.getParameterTypes();
		Annotation[][] annotations = method.getParameterAnnotations();
		Map<String, Integer> paramIndexes = new HashMap<String, Integer>(8, 1f);
		Map<String, Integer> batchParamIndexes = new HashMap<String, Integer>(8, 1f);
		parseParameterAnnotations(method, annotations, paramIndexes, batchParamIndexes, paramTypes);

		// 根据参数序号信息，解析表达式，并生成getter方法和参数
		parsedExpression = parseExpression(method);
		List<String> parameterNames = parsedExpression.getParameterNames();
		Object[] gettersAndIndexes = getGettersAndIndexes(method, parameterNames, paramIndexes, batchParamIndexes);
		getterMethods = (Method[]) gettersAndIndexes[0];
		parameterIndexes = (Integer[]) gettersAndIndexes[1];

		parseInternal(method, paramIndexes, batchParamIndexes);

		checkAfterParse(method);

		logBindInfo(method);
	}