Interface DbClientBuilder<T extends DbClientBuilder<T>>

Type Parameters:
T - type of the builder extending or implementing this interface.
All Superinterfaces:
Builder<T,DbClient>, Supplier<DbClient>
All Known Implementing Classes:
DbClientBuilderBase, JdbcClientBuilder, MongoDbClientBuilder

public interface DbClientBuilder<T extends DbClientBuilder<T>> extends Builder<T,DbClient>
Provider specific DbClient builder.
  • Method Details

    • config

      T config(Config config)
      Use database connection configuration from configuration file.
      Parameters:
      config - Config instance with database connection attributes
      Returns:
      database provider builder
    • url

      T url(String url)
      Set database connection string (URL).
      Parameters:
      url - database connection string
      Returns:
      database provider builder
    • username

      T username(String username)
      Set database connection username.
      Parameters:
      username - database connection user name
      Returns:
      database provider builder
    • password

      T password(String password)
      Set database connection password.
      Parameters:
      password - database connection password
      Returns:
      database provider builder
    • missingMapParametersAsNull

      T missingMapParametersAsNull(boolean missingMapParametersAsNull)
      Missing values in named parameters Map are considered as null values. When set to true, named parameters value missing in the Map is considered as null. When set to false, any parameter value missing in the Map will cause an exception.
      Parameters:
      missingMapParametersAsNull - whether missing values in named parameters Map are considered as null values
      Returns:
      updated builder instance
    • statements

      T statements(DbStatements statements)
      Statements to use either from configuration or manually configured.
      Parameters:
      statements - Statements to use
      Returns:
      updated builder instance
    • addMapperProvider

      T addMapperProvider(DbMapperProvider provider)
      Database schema mappers provider.
      Parameters:
      provider - database schema mappers provider to use
      Returns:
      updated builder instance
    • addMapper

      <TYPE> T addMapper(DbMapper<TYPE> dbMapper, Class<TYPE> mappedClass)
      Add a custom mapper.
      Type Parameters:
      TYPE - type of the supported class
      Parameters:
      dbMapper - the mapper capable of mapping the mappedClass to various database objects
      mappedClass - class that this mapper supports
      Returns:
      updated builder instance.
    • addMapper

      <TYPE> T addMapper(DbMapper<TYPE> dbMapper, GenericType<TYPE> mappedType)
      Add a custom mapper with generic types support.
      Type Parameters:
      TYPE - type of the supported class
      Parameters:
      dbMapper - the mapper capable of mapping the mappedClass to various database objects
      mappedType - type that this mapper supports
      Returns:
      updated builder instance.
    • mapperManager

      T mapperManager(MapperManager manager)
      Mapper manager for generic mapping, such as mapping of parameters to expected types.
      Parameters:
      manager - mapper manager
      Returns:
      updated builder instance
    • dbMapperManager

      T dbMapperManager(DbMapperManager manager)
      Mapper manager of all configured mappers.
      Parameters:
      manager - mapper manager
      Returns:
      updated builder instance
    • addService

      T addService(DbClientService clientService)
      Add an interceptor. This allows to add implementation of tracing, metrics, logging etc. without the need to hard-code these into the base.
      Parameters:
      clientService - interceptor instance
      Returns:
      updated builder instance