diff --git a/springboot2-mybatis-mysql-example/pom.xml b/springboot2-mybatis-mysql-example/pom.xml index 31a08189..56c2b1b4 100644 --- a/springboot2-mybatis-mysql-example/pom.xml +++ b/springboot2-mybatis-mysql-example/pom.xml @@ -15,7 +15,7 @@ org.springframework.boot spring-boot-starter-parent - 3.0.4 + 3.1.1 @@ -26,15 +26,41 @@ + + org.springframework.boot + spring-boot-starter-web + org.mybatis.spring.boot mybatis-spring-boot-starter - 1.2.1 + 3.0.2 com.mysql mysql-connector-j + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-testcontainers + test + + + org.testcontainers + junit-jupiter + test + + + org.testcontainers + mysql + test diff --git a/springboot2-mybatis-mysql-example/src/main/resources/application.properties b/springboot2-mybatis-mysql-example/src/main/resources/application.properties index 4357a588..af81dae3 100644 --- a/springboot2-mybatis-mysql-example/src/main/resources/application.properties +++ b/springboot2-mybatis-mysql-example/src/main/resources/application.properties @@ -9,7 +9,8 @@ spring.datasource.password = root spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect # Hibernate ddl auto (create, create-drop, validate, update) -spring.jpa.hibernate.ddl-auto = update +spring.jpa.hibernate.ddl-auto=none +spring.sql.init.mode=always logging.level.org.hibernate.stat=debug # Show all queries diff --git a/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/springboot2jpacrudexample/EmployeeControllerIntegrationTest.java b/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/jdbc/EmployeeControllerIntegrationTest.java similarity index 87% rename from springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/springboot2jpacrudexample/EmployeeControllerIntegrationTest.java rename to springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/jdbc/EmployeeControllerIntegrationTest.java index 8dac406a..224bb0b8 100644 --- a/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/springboot2jpacrudexample/EmployeeControllerIntegrationTest.java +++ b/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/jdbc/EmployeeControllerIntegrationTest.java @@ -1,26 +1,26 @@ -package net.guides.springboot2.springboot2jpacrudexample; +package net.guides.springboot2.jdbc; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; -import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.client.HttpClientErrorException; import net.guides.springboot2.jdbc.Application; import net.guides.springboot2.jdbc.model.Employee; -@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@SpringBootTest(classes = TestApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class EmployeeControllerIntegrationTest { + @Autowired private TestRestTemplate restTemplate; diff --git a/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/jdbc/TestApplication.java b/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/jdbc/TestApplication.java new file mode 100644 index 00000000..d2e0ff64 --- /dev/null +++ b/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/jdbc/TestApplication.java @@ -0,0 +1,22 @@ +package net.guides.springboot2.jdbc; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.boot.testcontainers.service.connection.ServiceConnection; +import org.springframework.context.annotation.Bean; +import org.testcontainers.containers.MySQLContainer; + +@TestConfiguration(proxyBeanMethods = false) +public class TestApplication { + + @Bean + @ServiceConnection + MySQLContainer mysqlContainer() { + return new MySQLContainer<>("mysql:latest"); + } + + public static void main(String[] args) { + SpringApplication.from(Application::main).with(TestApplication.class).run(args); + } + +} \ No newline at end of file diff --git a/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/springboot2jpacrudexample/ApplicationTests.java b/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/springboot2jpacrudexample/ApplicationTests.java deleted file mode 100644 index a42c3ca0..00000000 --- a/springboot2-mybatis-mysql-example/src/test/java/net/guides/springboot2/springboot2jpacrudexample/ApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.guides.springboot2.springboot2jpacrudexample; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -public class ApplicationTests { - - @Test - public void contextLoads() { - } - -}