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() {
- }
-
-}