code: public Sql getSQLByNameWithParameters(String name, Object parameters) {
  		if (name == null) {
  			return null;
  		}
  
  		Map<String, Object> parameterMap = buildParameters(parameters);
  
  		SqlObject sqlObj = this.sqlMap.get(name);
  		if (sqlObj != null) {
  
  			if (sqlObj.isPrepare() == false || (this.varMap.containsKey("prepare") == false && "false".equalsIgnoreCase(this.varMap.get("prepare")))) {
  				String sql = replaceSQL(sqlObj, parameterMap);
  				return new Sql(sql, parameterMap);
  			} else {
  				String sql = replaceChoose(sqlObj, parameterMap);
  				if (sqlObj instanceof ProcedureObject) {
  					ProcedureObject procedureObj = (ProcedureObject)sqlObj;
  					List<Out> outList = procedureObj.getOut();
  					for (Out out : outList) {
  						parameterMap.put(out.getName(), out);
  					}
  				}
  				return getPreperSQLWithParameters(sql, parameterMap);
  			}
  		} else {
  			return null;
  		}
  	}
docs: 根据SQL描述名称和参数构建SQL语句
  
  @param name SQL描述名称
  @param parameters 参数对象
  
  @return 构建后的SQL语句