presto-session-property-managers/src/main/java/io/prestosql/plugin/session/db/SessionPropertiesDaoProvider.java/SessionPropertiesDaoProvider/SessionPropertiesDaoProvider
class SessionPropertiesDaoProvider:    @Inject
    public SessionPropertiesDaoProvider(DbSessionPropertyManagerConfig config)
    {
        requireNonNull(config, "config is null");
        String url = requireNonNull(config.getConfigDbUrl(), "db url is null");

        MysqlDataSource dataSource = new MysqlDataSource();
        dataSource.setURL(url);

        Optional<String> username = Optional.ofNullable(config.getUsername());
        username.ifPresent(dataSource::setUser);

        Optional<String> password = Optional.ofNullable(config.getPassword());
        password.ifPresent(dataSource::setPassword);

        this.dao = Jdbi.create(dataSource)
                .installPlugin(new SqlObjectPlugin())
                .onDemand(SessionPropertiesDao.class);
    }