code: private String replaceSQL(SqlObject sqlObj, Map<String, Object> subSQLs) {
  		String query = sqlObj.getValue();
  
  		if (query != null) {
  			String regexs = "[$][{](\\S*)[}]"; // 子句替换模式
  			Pattern regex = Pattern.compile(regexs);
  			Matcher regexMatcher = regex.matcher(query);
  			while (regexMatcher.find()) {
  				String subSQLName = regexMatcher.group(1);
  
  				SqlObject subSQL = this.sqlMap.get(subSQLName);
  				if (subSQL != null) {
  					String subSQLContent = replaceSQL(subSQL, subSQLs);
  
  					query = query.replace(regexMatcher.group(0), subSQLContent);
  					sqlObj.setValue(query);
  				}
  			}
  
  			query = replaceChoose(sqlObj, subSQLs);
  			query = replaceVariables(query, subSQLs);
  		}
  
  		return query;
  	}
docs: /*
  替引用的SQL
  
  @param sql 需要构建的SQL对象
  
  @param subSQLs 引用的其他SQL语句
  
  @return 构建后的SQL语句