org.springframework.jdbc.datasource.init

## Interface DatabasePopulator

- All Known Implementing Classes:
    CompositeDatabasePopulator, ResourceDatabasePopulator

      public interface DatabasePopulator

  Strategy used to populate, initialize, or clean up a database.
  Since:
    3.0
  Author:
    Keith Donald, Sam Brannen
  See Also:
    `ResourceDatabasePopulator`, `DatabasePopulatorUtils`, `DataSourceInitializer`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `populate(Connection connection)` Populate, initialize, or clean up the database using the provided JDBC connection.

- - ### Method Detail

    - #### populate

          void populate(Connection connection)
                 throws SQLException,
                        ScriptException

      Populate, initialize, or clean up the database using the provided JDBC connection.

      Concrete implementations may throw an `SQLException` if an error is encountered but are strongly encouraged to throw a specific `ScriptException` instead. For example, Spring's `ResourceDatabasePopulator` and `DatabasePopulatorUtils` wrap all `SQLExceptions` in `ScriptExceptions`.

      Parameters:
        `connection` - the JDBC connection to use to populate the db; already configured and ready to use
      Throws:
        `SQLException` - if an unrecoverable data access exception occurs during database population
        `ScriptException` - in all other error cases
      See Also:
        `DatabasePopulatorUtils.execute(org.springframework.jdbc.datasource.init.DatabasePopulator, javax.sql.DataSource)`