1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ibatis.testcontainers;
18
19 import javax.sql.DataSource;
20
21 import org.apache.ibatis.datasource.unpooled.UnpooledDataSource;
22 import org.testcontainers.containers.MySQLContainer;
23
24 public class MysqlContainer {
25
26 private static final String DB_NAME = "mybatis_test";
27 private static final String USERNAME = "u";
28 private static final String PASSWORD = "p";
29 private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
30
31 private static final MySQLContainer<?> INSTANCE = initContainer();
32
33 private static MySQLContainer<?> initContainer() {
34 @SuppressWarnings("resource")
35 MySQLContainer<?> container = new MySQLContainer<>().withDatabaseName(DB_NAME).withUsername(USERNAME)
36 .withPassword(PASSWORD);
37 container.start();
38 return container;
39 }
40
41 public static DataSource getUnpooledDataSource() {
42 return new UnpooledDataSource(MysqlContainer.DRIVER, INSTANCE.getJdbcUrl(), MysqlContainer.USERNAME,
43 MysqlContainer.PASSWORD);
44 }
45
46 private MysqlContainer() {
47 super();
48 }
49 }