docs: public String getDriverClassName() {
          final String driverClassName = basicJdbcConfiguration.getConfiguredDriverClassName();
          if (calculatedDriverClassName == null || StringUtils.hasText(driverClassName)) {
              if (StringUtils.hasText(driverClassName)) {
                  if (!driverClassIsPresent(driverClassName)) {
                      throw new ConfigurationException(String.format("Error configuring data source '%s'. The driver class '%s' was not found on the classpath", basicJdbcConfiguration.getName(), driverClassName));
                  }
                  calculatedDriverClassName = driverClassName;
              } else {
                  final String url = basicJdbcConfiguration.getUrl();
                  if (StringUtils.hasText(url)) {
                      JdbcDatabaseManager.findDatabase(url).ifPresent(db ->
                          calculatedDriverClassName = db.getDriverClassName());
                  }
  
                  if (!StringUtils.hasText(calculatedDriverClassName) && embeddedDatabaseConnection.isPresent()) {
                      calculatedDriverClassName = this.embeddedDatabaseConnection.get().getDriverClassName();
                  }
  
                  if (!StringUtils.hasText(calculatedDriverClassName)) {
                      throw new ConfigurationException(String.format("Error configuring data source '%s'. No driver class name specified", basicJdbcConfiguration.getName()));
                  }
              }
          }
  
          return calculatedDriverClassName;
      }