Para hacer pruebas a menudo nos viene bien utilizar una base de datos en memoria, y precargarla con un script .sql que tenemos con nuestros datos de prueba predefinidos. Aqui tenemos en dos pasos cómo hacer esta configuración en Spring Boot:

pom.xml:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>compile</scope>
</dependency>

application.properties

# DataSource

spring.jpa.hibernate.ddl-auto=none
spring.datasource.initialize=false

spring.datasource.url=jdbc:h2:mem:sample;MODE=MYSQL;INIT=RUNSCRIPT FROM 'classpath:database/world.sql';DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE

spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

(en este ejemplo buscará el script de inicialización de la base de datos en el classpath: src/main/resources/database/world.sql )

Tip!

Recordad que podéis tener varios perfiles de Spring. Podemos renombrar los archivos application.properties a application-<profile_name>.properties y utilizar distintas configuraciones que podemos ejecutar de esta manera:

#utilizará la configuración de 'application-h2.properties'
mvn spring-boot:run -Dspring.profiles.active=h2