code: @Override
      public DataSourceHolder getHolder(StatementMetaData metaData, Map<String, Object> runtime) {
          String daoName = metaData.getDAOMetaData().getDAOClass().getName();
          String name = daoName;
          DataSourceHolder dataSource = dataSources.get(name);
          if (dataSource != null) {
              return dataSource;
          }
          while (true) {
              int index = name.lastIndexOf('.');
              if (index == -1) {
                  dataSources.putIfAbsent(daoName, defaultDataSource);
                  return defaultDataSource;
              }
              name = name.substring(0, index);
              dataSource = dataSources.get(name);
              if (dataSource != null) {
                  dataSources.putIfAbsent(daoName, dataSource);
                  return dataSource;
              }
          }
      }
docs: 根据DAO的类全名、以点号为分隔逐级从注册的数据源中寻找存在的数据源，如果有则立即返回之