<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.15.3</version>
<scope>test</scope>
</dependency>
import org.junit.ClassRule;
import org.junit.Test;
import org.testcontainers.containers.MySQLContainer;
import java.sql.*;
public class MyDatabaseTest {
@ClassRule
public static MySQLContainer<?> mysqlContainer = new MySQLContainer<>("mysql:latest")
.withDatabaseName("test")
.withUsername("root")
.withPassword("password");
@Test
public void testDatabase() throws SQLException {
String jdbcUrl = mysqlContainer.getJdbcUrl();
String username = mysqlContainer.getUsername();
String password = mysqlContainer.getPassword();
try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
Statement statement = connection.createStatement()) {
statement.execute("CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(255));");
statement.execute("INSERT INTO users (id, name) VALUES (1, 'John');");
ResultSet resultSet = statement.executeQuery("SELECT * FROM users;");
while (resultSet.next()) {
int userId = resultSet.getInt("id");
String userName = resultSet.getString("name");
System.out.println("User ID: " + userId + ", User Name: " + userName);
}
}
}
}