1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.batch_test;
17
18 import java.io.Reader;
19
20 import org.apache.ibatis.BaseDataTest;
21 import org.apache.ibatis.io.Resources;
22 import org.apache.ibatis.session.ExecutorType;
23 import org.apache.ibatis.session.SqlSession;
24 import org.apache.ibatis.session.SqlSessionFactory;
25 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
26 import org.junit.jupiter.api.Assertions;
27 import org.junit.jupiter.api.BeforeAll;
28 import org.junit.jupiter.api.Test;
29
30 class BatchTest {
31
32 private static SqlSessionFactory sqlSessionFactory;
33
34 @BeforeAll
35 static void setUp() throws Exception {
36
37 try (Reader reader = Resources.getResourceAsReader("org/apache/ibatis/submitted/batch_test/mybatis-config.xml")) {
38 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
39 }
40
41
42 BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),
43 "org/apache/ibatis/submitted/batch_test/CreateDB.sql");
44 }
45
46 @Test
47 void shouldGetAUserNoException() {
48 try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false)) {
49 try {
50 Mapper mapper = sqlSession.getMapper(Mapper.class);
51
52 User user = mapper.getUser(1);
53
54 user.setId(2);
55 user.setName("User2");
56 mapper.insertUser(user);
57 Assertions.assertEquals("Dept1", mapper.getUser(2).getDept().getName());
58 } finally {
59 sqlSession.commit();
60 }
61 } catch (Exception e) {
62 Assertions.fail(e.getMessage());
63 }
64 }
65
66 }