Skip to content

Commit 77bbd6f

Browse files
authored
Merge pull request mybatis#3347 from hazendaz/pom-cleanup
Add text blocks in test code
2 parents 112dfee + 5f37c24 commit 77bbd6f

File tree

12 files changed

+398
-349
lines changed

12 files changed

+398
-349
lines changed

src/test/java/org/apache/ibatis/builder/XmlConfigBuilderTest.java

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -155,16 +155,16 @@ public E getNullableResult(CallableStatement cs, int columnIndex) throws SQLExce
155155

156156
@Test
157157
void registerJavaTypeInitializingTypeHandler() {
158-
// @formatter:off
159-
final String MAPPER_CONFIG = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
160-
+ "<!DOCTYPE configuration PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"https://mybatis.org/dtd/mybatis-3-config.dtd\">\n"
161-
+ "<configuration>\n"
162-
+ " <typeHandlers>\n"
163-
+ " <typeHandler javaType=\"org.apache.ibatis.builder.XmlConfigBuilderTest$MyEnum\"\n"
164-
+ " handler=\"org.apache.ibatis.builder.XmlConfigBuilderTest$EnumOrderTypeHandler\"/>\n"
165-
+ " </typeHandlers>\n"
166-
+ "</configuration>\n";
167-
// @formatter:on
158+
final String MAPPER_CONFIG = """
159+
<?xml version="1.0" encoding="UTF-8" ?>
160+
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">
161+
<configuration>
162+
<typeHandlers>
163+
<typeHandler javaType="org.apache.ibatis.builder.XmlConfigBuilderTest$MyEnum"
164+
handler="org.apache.ibatis.builder.XmlConfigBuilderTest$EnumOrderTypeHandler"/>
165+
</typeHandlers>
166+
</configuration>
167+
""";
168168

169169
XMLConfigBuilder builder = new XMLConfigBuilder(new StringReader(MAPPER_CONFIG));
170170
builder.parse();
@@ -283,15 +283,15 @@ void parseIsTwice() throws Exception {
283283

284284
@Test
285285
void unknownSettings() {
286-
// @formatter:off
287-
final String MAPPER_CONFIG = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
288-
+ "<!DOCTYPE configuration PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"https://mybatis.org/dtd/mybatis-3-config.dtd\">\n"
289-
+ "<configuration>\n"
290-
+ " <settings>\n"
291-
+ " <setting name=\"foo\" value=\"bar\"/>\n"
292-
+ " </settings>\n"
293-
+ "</configuration>\n";
294-
// @formatter:on
286+
final String MAPPER_CONFIG = """
287+
<?xml version="1.0" encoding="UTF-8" ?>
288+
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">
289+
<configuration>
290+
<settings>
291+
<setting name="foo" value="bar"/>
292+
</settings>
293+
</configuration>
294+
""";
295295

296296
XMLConfigBuilder builder = new XMLConfigBuilder(new StringReader(MAPPER_CONFIG));
297297
when(builder::parse);
@@ -301,15 +301,15 @@ void unknownSettings() {
301301

302302
@Test
303303
void unknownJavaTypeOnTypeHandler() {
304-
// @formatter:off
305-
final String MAPPER_CONFIG = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
306-
+ "<!DOCTYPE configuration PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"https://mybatis.org/dtd/mybatis-3-config.dtd\">\n"
307-
+ "<configuration>\n"
308-
+ " <typeAliases>\n"
309-
+ " <typeAlias type=\"a.b.c.Foo\"/>\n"
310-
+ " </typeAliases>\n"
311-
+ "</configuration>\n";
312-
// @formatter:on
304+
final String MAPPER_CONFIG = """
305+
<?xml version="1.0" encoding="UTF-8" ?>
306+
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">
307+
<configuration>
308+
<typeAliases>
309+
<typeAlias type="a.b.c.Foo"/>
310+
</typeAliases>
311+
</configuration>
312+
""";
313313

314314
XMLConfigBuilder builder = new XMLConfigBuilder(new StringReader(MAPPER_CONFIG));
315315
when(builder::parse);
@@ -319,13 +319,13 @@ void unknownJavaTypeOnTypeHandler() {
319319

320320
@Test
321321
void propertiesSpecifyResourceAndUrlAtSameTime() {
322-
// @formatter:off
323-
final String MAPPER_CONFIG = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
324-
+ "<!DOCTYPE configuration PUBLIC \"-//mybatis.org//DTD Config 3.0//EN\" \"https://mybatis.org/dtd/mybatis-3-config.dtd\">\n"
325-
+ "<configuration>\n"
326-
+ " <properties resource=\"a/b/c/foo.properties\" url=\"file:./a/b/c/jdbc.properties\"/>\n"
327-
+ "</configuration>\n";
328-
// @formatter:on
322+
final String MAPPER_CONFIG = """
323+
<?xml version="1.0" encoding="UTF-8" ?>
324+
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">
325+
<configuration>
326+
<properties resource="a/b/c/foo.properties" url="file:./a/b/c/jdbc.properties"/>
327+
</configuration>
328+
""";
329329

330330
XMLConfigBuilder builder = new XMLConfigBuilder(new StringReader(MAPPER_CONFIG));
331331
when(builder::parse);

src/test/java/org/apache/ibatis/executor/ExecutorTestHelper.java

Lines changed: 80 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2009-2023 the original author or authors.
2+
* Copyright 2009-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -374,9 +374,18 @@ static MappedStatement createSelectAuthorWithIDof99MappedStatement(final Configu
374374

375375
static MappedStatement prepareComplexSelectBlogMappedStatement(final Configuration config) {
376376
final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
377-
final SqlSource sqlSource = new StaticSqlSource(config,
378-
"SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" + " FROM blog b"
379-
+ " INNER JOIN author a ON b.author_id = a.id" + " WHERE b.id = ?");
377+
final SqlSource sqlSource = new StaticSqlSource(config, """
378+
SELECT b.id \
379+
, b.author_id \
380+
, b.title \
381+
, a.username \
382+
, a.password \
383+
, a.email \
384+
, a.bio\
385+
FROM blog b\
386+
INNER JOIN author a ON b.author_id = a.id\
387+
WHERE b.id = ?\
388+
""");
380389
final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", int.class,
381390
new ArrayList<ParameterMapping>() {
382391
private static final long serialVersionUID = 1L;
@@ -421,9 +430,18 @@ static MappedStatement prepareComplexSelectBlogMappedStatement(final Configurati
421430

422431
static MappedStatement prepareSelectBlogByIdAndAuthor(final Configuration config) {
423432
final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
424-
final SqlSource sqlSource = new StaticSqlSource(config,
425-
"SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" + " FROM blog b"
426-
+ " INNER JOIN author a ON b.author_id = a.id" + " WHERE b.id = ? and a.id = ?");
433+
final SqlSource sqlSource = new StaticSqlSource(config, """
434+
SELECT b.id\
435+
, b.author_id\
436+
, b.title\
437+
, a.username\
438+
, a.password\
439+
, a.email\
440+
, a.bio\
441+
FROM blog b\
442+
INNER JOIN author a ON b.author_id = a.id\
443+
WHERE b.id = ? and a.id = ?\
444+
""");
427445
final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Map.class,
428446
new ArrayList<ParameterMapping>() {
429447
private static final long serialVersionUID = 1L;
@@ -470,11 +488,24 @@ static MappedStatement prepareSelectBlogByIdAndAuthor(final Configuration config
470488

471489
static MappedStatement prepareSelectPostsForBlogMappedStatement(final Configuration config) {
472490
final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
473-
final SqlSource sqlSource = new StaticSqlSource(config,
474-
"SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id,"
475-
+ " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" + " FROM post p"
476-
+ " INNER JOIN post_tag pt ON pt.post_id = p.id" + " INNER JOIN tag t ON pt.tag_id = t.id"
477-
+ " LEFT OUTER JOIN comment c ON c.post_id = p.id" + " WHERE p.blog_id = ?");
491+
final SqlSource sqlSource = new StaticSqlSource(config, """
492+
SELECT p.id\
493+
, p.created_on\
494+
, p.blog_id\
495+
, p.section\
496+
, p.subject\
497+
, p.body\
498+
, pt.tag_id\
499+
, t.name as tag_name\
500+
, c.id as comment_id\
501+
, c.name as comment_name\
502+
, c.comment\
503+
FROM post p\
504+
INNER JOIN post_tag pt ON pt.post_id = p.id\
505+
INNER JOIN tag t ON pt.tag_id = t.id\
506+
LEFT OUTER JOIN comment c ON c.post_id = p.id\
507+
WHERE p.blog_id = ?\
508+
""");
478509
final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
479510
new ArrayList<ParameterMapping>() {
480511
private static final long serialVersionUID = 1L;
@@ -548,11 +579,24 @@ static MappedStatement prepareSelectPostsForBlogMappedStatement(final Configurat
548579

549580
static MappedStatement prepareSelectPostMappedStatement(final Configuration config) {
550581
final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
551-
final SqlSource sqlSource = new StaticSqlSource(config,
552-
"SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id,"
553-
+ " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" + " FROM post p"
554-
+ " LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id" + " LEFT OUTER JOIN tag t ON pt.tag_id = t.id"
555-
+ " LEFT OUTER JOIN comment c ON c.post_id = p.id" + " WHERE p.id = ?");
582+
final SqlSource sqlSource = new StaticSqlSource(config, """
583+
SELECT p.id\
584+
, p.created_on\
585+
, p.blog_id\
586+
, p.section\
587+
, p.subject\
588+
, p.body\
589+
, pt.tag_id\
590+
, t.name as tag_name\
591+
, c.id as comment_id\
592+
, c.name as comment_name\
593+
, c.comment\
594+
FROM post p\
595+
LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id\
596+
LEFT OUTER JOIN tag t ON pt.tag_id = t.id\
597+
LEFT OUTER JOIN comment c ON c.post_id = p.id\
598+
WHERE p.id = ?\
599+
""");
556600
final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
557601
new ArrayList<ParameterMapping>() {
558602
private static final long serialVersionUID = 1L;
@@ -624,11 +668,25 @@ static MappedStatement prepareSelectPostMappedStatement(final Configuration conf
624668

625669
static MappedStatement prepareSelectPostWithBlogByAuthorMappedStatement(final Configuration config) {
626670
final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
627-
final SqlSource sqlSource = new StaticSqlSource(config,
628-
"SELECT p.id, p.created_on, p.blog_id, p.author_id, p.section, p.subject, p.body, pt.tag_id,"
629-
+ " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" + " FROM post p"
630-
+ " LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id" + " LEFT OUTER JOIN tag t ON pt.tag_id = t.id"
631-
+ " LEFT OUTER JOIN comment c ON c.post_id = p.id" + " WHERE p.id = ?");
671+
final SqlSource sqlSource = new StaticSqlSource(config, """
672+
SELECT p.id\
673+
, p.created_on\
674+
, p.blog_id\
675+
, p.author_id\
676+
, p.section\
677+
, p.subject\
678+
, p.body\
679+
, pt.tag_id\
680+
, t.name as tag_name\
681+
, c.id as comment_id\
682+
, c.name as comment_name\
683+
, c.comment\
684+
FROM post p\
685+
LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id\
686+
LEFT OUTER JOIN tag t ON pt.tag_id = t.id\
687+
LEFT OUTER JOIN comment c ON c.post_id = p.id\
688+
WHERE p.id = ?\
689+
""");
632690
final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
633691
new ArrayList<ParameterMapping>() {
634692
private static final long serialVersionUID = 1L;

src/test/java/org/apache/ibatis/jdbc/SQLTest.java

Lines changed: 49 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,17 @@ void shouldDemonstrateProvidedStringBuilder() {
3232
// From the tutorial
3333
final String sql = example1().usingAppender(sb).toString();
3434

35-
// @formatter:off
36-
assertEquals("SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON\n"
37-
+ "FROM PERSON P, ACCOUNT A\n"
38-
+ "INNER JOIN DEPARTMENT D on D.ID = P.DEPARTMENT_ID\n"
39-
+ "INNER JOIN COMPANY C on D.COMPANY_ID = C.ID\n"
40-
+ "WHERE (P.ID = A.ID AND P.FIRST_NAME like ?) \n"
41-
+ "OR (P.LAST_NAME like ?)\n"
42-
+ "GROUP BY P.ID\n"
43-
+ "HAVING (P.LAST_NAME like ?) \n"
44-
+ "OR (P.FIRST_NAME like ?)\n"
45-
+ "ORDER BY P.ID, P.FULL_NAME", sql);
46-
// @formatter:on
35+
assertEquals("""
36+
SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON
37+
FROM PERSON P, ACCOUNT A
38+
INNER JOIN DEPARTMENT D on D.ID = P.DEPARTMENT_ID
39+
INNER JOIN COMPANY C on D.COMPANY_ID = C.ID
40+
WHERE (P.ID = A.ID AND P.FIRST_NAME like ?)\s
41+
OR (P.LAST_NAME like ?)
42+
GROUP BY P.ID
43+
HAVING (P.LAST_NAME like ?)\s
44+
OR (P.FIRST_NAME like ?)
45+
ORDER BY P.ID, P.FULL_NAME""", sql);
4746
}
4847

4948
@Test
@@ -57,89 +56,75 @@ void shouldDemonstrateMixedStyle() {
5756
}
5857
}.toString();
5958

60-
// @formatter:off
61-
assertEquals(""
62-
+ "SELECT id, name\n"
63-
+ "FROM PERSON A\n"
64-
+ "WHERE (name like ? AND id = ?)", sql);
65-
// @formatter:on
59+
assertEquals("""
60+
SELECT id, name
61+
FROM PERSON A
62+
WHERE (name like ? AND id = ?)""", sql);
6663
}
6764

6865
@Test
6966
void shouldDemonstrateFluentStyle() {
7067
// Fluent Style
7168
final String sql = new SQL().SELECT("id, name").FROM("PERSON A").WHERE("name like ?").WHERE("id = ?").toString();
7269

73-
// @formatter:off
74-
assertEquals(""
75-
+ "SELECT id, name\n"
76-
+ "FROM PERSON A\n"
77-
+ "WHERE (name like ? AND id = ?)", sql);
78-
// @formatter:on
70+
assertEquals("""
71+
SELECT id, name
72+
FROM PERSON A
73+
WHERE (name like ? AND id = ?)""", sql);
7974
}
8075

8176
@Test
8277
void shouldProduceExpectedSimpleSelectStatement() {
83-
// @formatter:off
84-
final String expected =
85-
"SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME\n"
86-
+ "FROM PERSON P\n"
87-
+ "WHERE (P.ID like #id# AND P.FIRST_NAME like #firstName# AND P.LAST_NAME like #lastName#)\n"
88-
+ "ORDER BY P.LAST_NAME";
89-
// @formatter:on
78+
final String expected = """
79+
SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME
80+
FROM PERSON P
81+
WHERE (P.ID like #id# AND P.FIRST_NAME like #firstName# AND P.LAST_NAME like #lastName#)
82+
ORDER BY P.LAST_NAME""";
9083
assertEquals(expected, example2("a", "b", "c"));
9184
}
9285

9386
@Test
9487
void shouldProduceExpectedSimpleSelectStatementMissingFirstParam() {
95-
// @formatter:off
96-
final String expected =
97-
"SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME\n"
98-
+ "FROM PERSON P\n"
99-
+ "WHERE (P.FIRST_NAME like #firstName# AND P.LAST_NAME like #lastName#)\n"
100-
+ "ORDER BY P.LAST_NAME";
101-
// @formatter:on
88+
final String expected = """
89+
SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME
90+
FROM PERSON P
91+
WHERE (P.FIRST_NAME like #firstName# AND P.LAST_NAME like #lastName#)
92+
ORDER BY P.LAST_NAME""";
10293
assertEquals(expected, example2(null, "b", "c"));
10394
}
10495

10596
@Test
10697
void shouldProduceExpectedSimpleSelectStatementMissingFirstTwoParams() {
107-
// @formatter:off
108-
final String expected =
109-
"SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME\n"
110-
+ "FROM PERSON P\n"
111-
+ "WHERE (P.LAST_NAME like #lastName#)\n"
112-
+ "ORDER BY P.LAST_NAME";
113-
// @formatter:on
98+
final String expected = """
99+
SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME
100+
FROM PERSON P
101+
WHERE (P.LAST_NAME like #lastName#)
102+
ORDER BY P.LAST_NAME""";
114103
assertEquals(expected, example2(null, null, "c"));
115104
}
116105

117106
@Test
118107
void shouldProduceExpectedSimpleSelectStatementMissingAllParams() {
119-
// @formatter:off
120-
final String expected =
121-
"SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME\n"
122-
+ "FROM PERSON P\n"
123-
+ "ORDER BY P.LAST_NAME";
124-
// @formatter:on
108+
final String expected = """
109+
SELECT P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME
110+
FROM PERSON P
111+
ORDER BY P.LAST_NAME""";
125112
assertEquals(expected, example2(null, null, null));
126113
}
127114

128115
@Test
129116
void shouldProduceExpectedComplexSelectStatement() {
130-
// @formatter:off
131-
final String expected =
132-
"SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON\n"
133-
+ "FROM PERSON P, ACCOUNT A\n"
134-
+ "INNER JOIN DEPARTMENT D on D.ID = P.DEPARTMENT_ID\n"
135-
+ "INNER JOIN COMPANY C on D.COMPANY_ID = C.ID\n"
136-
+ "WHERE (P.ID = A.ID AND P.FIRST_NAME like ?) \n"
137-
+ "OR (P.LAST_NAME like ?)\n"
138-
+ "GROUP BY P.ID\n"
139-
+ "HAVING (P.LAST_NAME like ?) \n"
140-
+ "OR (P.FIRST_NAME like ?)\n"
141-
+ "ORDER BY P.ID, P.FULL_NAME";
142-
// @formatter:on
117+
final String expected = """
118+
SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON
119+
FROM PERSON P, ACCOUNT A
120+
INNER JOIN DEPARTMENT D on D.ID = P.DEPARTMENT_ID
121+
INNER JOIN COMPANY C on D.COMPANY_ID = C.ID
122+
WHERE (P.ID = A.ID AND P.FIRST_NAME like ?)\s
123+
OR (P.LAST_NAME like ?)
124+
GROUP BY P.ID
125+
HAVING (P.LAST_NAME like ?)\s
126+
OR (P.FIRST_NAME like ?)
127+
ORDER BY P.ID, P.FULL_NAME""";
143128
assertEquals(expected, example1().toString());
144129
}
145130

0 commit comments

Comments
 (0)