1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.named_constructor_args;
17
18 import static org.junit.jupiter.api.Assertions.assertEquals;
19
20 import java.io.Reader;
21
22 import org.apache.ibatis.BaseDataTest;
23 import org.apache.ibatis.io.Resources;
24 import org.apache.ibatis.session.Configuration;
25 import org.apache.ibatis.session.SqlSession;
26 import org.apache.ibatis.session.SqlSessionFactory;
27 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
28 import org.junit.jupiter.api.BeforeAll;
29 import org.junit.jupiter.api.Test;
30
31 class NamedConstructorArgsTest {
32
33 private static SqlSessionFactory sqlSessionFactory;
34
35 @BeforeAll
36 static void setUp() throws Exception {
37
38 try (Reader reader = Resources
39 .getResourceAsReader("org/apache/ibatis/submitted/named_constructor_args/mybatis-config.xml")) {
40 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
41 }
42
43 Configuration configuration = sqlSessionFactory.getConfiguration();
44 configuration.setUseActualParamName(false);
45 configuration.addMapper(Mapper.class);
46
47
48 BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),
49 "org/apache/ibatis/submitted/named_constructor_args/CreateDB.sql");
50 }
51
52 @Test
53 void argsWithParamAnnos() {
54 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
55 Mapper mapper = sqlSession.getMapper(Mapper.class);
56 User user = mapper.mapConstructorWithParamAnnos(1);
57 assertEquals(Integer.valueOf(1), user.getId());
58 assertEquals("User1", user.getName());
59 assertEquals(Long.valueOf(99L), user.getTeam());
60 }
61 }
62
63 @Test
64 void argsWithParamAnnosXml() {
65 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
66 Mapper mapper = sqlSession.getMapper(Mapper.class);
67 User user = mapper.mapConstructorWithParamAnnosXml(1);
68 assertEquals(Integer.valueOf(1), user.getId());
69 assertEquals("User1", user.getName());
70 assertEquals(Long.valueOf(99L), user.getTeam());
71 }
72 }
73
74 }