Skip to content

Commit 16f82c8

Browse files
committed
Merge branch 'master' into pr/2686
2 parents 5a4c0d9 + f81b68c commit 16f82c8

File tree

14 files changed

+94
-32
lines changed

14 files changed

+94
-32
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ MyBatis SQL Mapper Framework for Java
99
[![Stack Overflow](https://img.shields.io/:stack%20overflow-mybatis-brightgreen.svg)](https://stackoverflow.com/questions/tagged/mybatis)
1010
[![Project Stats](https://www.openhub.net/p/mybatis/widgets/project_thin_badge.gif)](https://www.openhub.net/p/mybatis)
1111

12-
![mybatis](http://mybatis.github.io/images/mybatis-logo.png)
12+
![mybatis](https://mybatis.org/images/mybatis-logo.png)
1313

1414
The MyBatis SQL mapper framework makes it easier to use a relational database with object-oriented applications.
1515
MyBatis couples objects with stored procedures or SQL statements using an XML descriptor or annotations.
@@ -18,6 +18,6 @@ Simplicity is the biggest advantage of the MyBatis data mapper over object relat
1818
Essentials
1919
----------
2020

21-
* [See the docs](http://mybatis.github.io/mybatis-3)
21+
* [See the docs](https://mybatis.org/mybatis-3)
2222
* [Download Latest](https://github.com/mybatis/mybatis-3/releases)
2323
* [Download Snapshot](https://oss.sonatype.org/content/repositories/snapshots/org/mybatis/mybatis/)

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@
161161
<dependency>
162162
<groupId>org.slf4j</groupId>
163163
<artifactId>slf4j-api</artifactId>
164-
<version>1.7.36</version>
164+
<version>2.0.0</version>
165165
<optional>true</optional>
166166
</dependency>
167167
<dependency>
@@ -235,13 +235,13 @@
235235
<dependency>
236236
<groupId>org.mockito</groupId>
237237
<artifactId>mockito-core</artifactId>
238-
<version>4.7.0</version>
238+
<version>4.8.0</version>
239239
<scope>test</scope>
240240
</dependency>
241241
<dependency>
242242
<groupId>org.mockito</groupId>
243243
<artifactId>mockito-junit-jupiter</artifactId>
244-
<version>4.7.0</version>
244+
<version>4.8.0</version>
245245
<scope>test</scope>
246246
</dependency>
247247
<dependency>
@@ -303,7 +303,7 @@
303303
<dependency>
304304
<groupId>ch.qos.logback</groupId>
305305
<artifactId>logback-classic</artifactId>
306-
<version>1.2.11</version>
306+
<version>1.3.0</version>
307307
<scope>test</scope>
308308
</dependency>
309309
<dependency>

src/main/java/org/apache/ibatis/mapping/BoundSql.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,8 @@ public void setAdditionalParameter(String name, Object value) {
7373
public Object getAdditionalParameter(String name) {
7474
return metaParameters.getValue(name);
7575
}
76+
77+
public Map<String, Object> getAdditionalParameters() {
78+
return additionalParameters;
79+
}
7680
}

src/site/es/xdoc/configuration.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,7 @@ A continuación se muestra un ejemplo del elemento settings al completo:
613613
<source><![CDATA[<settings>
614614
<setting name="cacheEnabled" value="true"/>
615615
<setting name="lazyLoadingEnabled" value="true"/>
616+
<setting name="aggressiveLazyLoading" value="true"/>
616617
<setting name="multipleResultSetsEnabled" value="true"/>
617618
<setting name="useColumnLabel" value="true"/>
618619
<setting name="useGeneratedKeys" value="false"/>
@@ -622,10 +623,21 @@ A continuación se muestra un ejemplo del elemento settings al completo:
622623
<setting name="defaultStatementTimeout" value="25"/>
623624
<setting name="defaultFetchSize" value="100"/>
624625
<setting name="safeRowBoundsEnabled" value="false"/>
626+
<setting name="safeResultHandlerEnabled" value="true"/>
625627
<setting name="mapUnderscoreToCamelCase" value="false"/>
626628
<setting name="localCacheScope" value="SESSION"/>
627629
<setting name="jdbcTypeForNull" value="OTHER"/>
628630
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
631+
<setting name="defaultScriptingLanguage" value="org.apache.ibatis.scripting.xmltags.XMLLanguageDriver"/>
632+
<setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumTypeHandler"/>
633+
<setting name="callSettersOnNulls" value="false"/>
634+
<setting name="returnInstanceForEmptyRow" value="false"/>
635+
<setting name="logPrefix" value="exampleLogPreFix_"/>
636+
<setting name="logImpl" value="SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING"/>
637+
<setting name="proxyFactory" value="CGLIB | JAVASSIST"/>
638+
<setting name="vfsImpl" value="org.mybatis.example.YourselfVfsImpl"/>
639+
<setting name="useActualParamName" value="true"/>
640+
<setting name="configurationFactory" value="org.mybatis.example.ConfigurationFactory"/>
629641
</settings>]]></source>
630642

631643
</subsection>

src/site/es/xdoc/sqlmap-xml.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -654,8 +654,8 @@ public class User {
654654

655655
<source><![CDATA[<resultMap id="userResultMap" type="User">
656656
<id property="id" column="user_id" />
657-
<result property="username" column="username"/>
658-
<result property="password" column="password"/>
657+
<result property="username" column="user_name"/>
658+
<result property="password" column="hashed_password"/>
659659
</resultMap>]]></source>
660660

661661
<p>

src/site/ja/xdoc/configuration.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,7 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
637637
<source><![CDATA[<settings>
638638
<setting name="cacheEnabled" value="true"/>
639639
<setting name="lazyLoadingEnabled" value="true"/>
640+
<setting name="aggressiveLazyLoading" value="true"/>
640641
<setting name="multipleResultSetsEnabled" value="true"/>
641642
<setting name="useColumnLabel" value="true"/>
642643
<setting name="useGeneratedKeys" value="false"/>
@@ -646,10 +647,21 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
646647
<setting name="defaultStatementTimeout" value="25"/>
647648
<setting name="defaultFetchSize" value="100"/>
648649
<setting name="safeRowBoundsEnabled" value="false"/>
650+
<setting name="safeResultHandlerEnabled" value="true"/>
649651
<setting name="mapUnderscoreToCamelCase" value="false"/>
650652
<setting name="localCacheScope" value="SESSION"/>
651653
<setting name="jdbcTypeForNull" value="OTHER"/>
652654
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
655+
<setting name="defaultScriptingLanguage" value="org.apache.ibatis.scripting.xmltags.XMLLanguageDriver"/>
656+
<setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumTypeHandler"/>
657+
<setting name="callSettersOnNulls" value="false"/>
658+
<setting name="returnInstanceForEmptyRow" value="false"/>
659+
<setting name="logPrefix" value="exampleLogPreFix_"/>
660+
<setting name="logImpl" value="SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING"/>
661+
<setting name="proxyFactory" value="CGLIB | JAVASSIST"/>
662+
<setting name="vfsImpl" value="org.mybatis.example.YourselfVfsImpl"/>
663+
<setting name="useActualParamName" value="true"/>
664+
<setting name="configurationFactory" value="org.mybatis.example.ConfigurationFactory"/>
653665
</settings>]]></source>
654666

655667
</subsection>

src/site/ja/xdoc/sqlmap-xml.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -739,8 +739,8 @@ public class User {
739739

740740
<source><![CDATA[<resultMap id="userResultMap" type="User">
741741
<id property="id" column="user_id" />
742-
<result property="username" column="username"/>
743-
<result property="password" column="password"/>
742+
<result property="username" column="user_name"/>
743+
<result property="password" column="hashed_password"/>
744744
</resultMap>]]></source>
745745

746746
<p>

src/site/ko/xdoc/configuration.xml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -312,10 +312,10 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
312312
defaultResultSetType
313313
</td>
314314
<td>
315-
Specifies a scroll strategy when omit it per statement settings. (Since: 3.5.2)
315+
각 구문의 설정을 생략할 때 스크롤 하는 방법을 지정한다. (3.5.2 부터)
316316
</td>
317317
<td>
318-
FORWARD_ONLY | SCROLL_SENSITIVE | SCROLL_INSENSITIVE | DEFAULT(same behavior with 'Not Set')
318+
FORWARD_ONLY | SCROLL_SENSITIVE | SCROLL_INSENSITIVE | DEFAULT(설정하지 않을 때와 동일하게 동작)
319319
</td>
320320
<td>
321321
Not Set (null)
@@ -589,7 +589,7 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
589589
nullableOnForEach
590590
</td>
591591
<td>
592-
Specifies the default value of 'nullable' attribute on 'foreach' tag. (Since 3.5.9)
592+
'foreach' 태그에서 'nullable' 속성의 기본값을 지정한다. (3.5.9 부터)
593593
</td>
594594
<td>
595595
true | false
@@ -603,7 +603,7 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
603603
argNameBasedConstructorAutoMapping
604604
</td>
605605
<td>
606-
When applying constructor auto-mapping, argument name is used to search the column to map instead of relying on the column order. (Since 3.5.10)
606+
생성자 자동 매핑을 적용할 때 칼럼 순서가 아닌 칼럼 이름과 생성자 인수들의 이름을 기반으로 매핑한다. (3.5.10 부터)
607607
</td>
608608
<td>
609609
true | false
@@ -618,6 +618,7 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
618618
<source><![CDATA[<settings>
619619
<setting name="cacheEnabled" value="true"/>
620620
<setting name="lazyLoadingEnabled" value="true"/>
621+
<setting name="aggressiveLazyLoading" value="true"/>
621622
<setting name="multipleResultSetsEnabled" value="true"/>
622623
<setting name="useColumnLabel" value="true"/>
623624
<setting name="useGeneratedKeys" value="false"/>
@@ -627,10 +628,21 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environ
627628
<setting name="defaultStatementTimeout" value="25"/>
628629
<setting name="defaultFetchSize" value="100"/>
629630
<setting name="safeRowBoundsEnabled" value="false"/>
631+
<setting name="safeResultHandlerEnabled" value="true"/>
630632
<setting name="mapUnderscoreToCamelCase" value="false"/>
631633
<setting name="localCacheScope" value="SESSION"/>
632634
<setting name="jdbcTypeForNull" value="OTHER"/>
633635
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
636+
<setting name="defaultScriptingLanguage" value="org.apache.ibatis.scripting.xmltags.XMLLanguageDriver"/>
637+
<setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumTypeHandler"/>
638+
<setting name="callSettersOnNulls" value="false"/>
639+
<setting name="returnInstanceForEmptyRow" value="false"/>
640+
<setting name="logPrefix" value="exampleLogPreFix_"/>
641+
<setting name="logImpl" value="SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING"/>
642+
<setting name="proxyFactory" value="CGLIB | JAVASSIST"/>
643+
<setting name="vfsImpl" value="org.mybatis.example.YourselfVfsImpl"/>
644+
<setting name="useActualParamName" value="true"/>
645+
<setting name="configurationFactory" value="org.mybatis.example.ConfigurationFactory"/>
634646
</settings>]]></source>
635647

636648
</subsection>
@@ -666,8 +678,7 @@ public class Author {
666678
...
667679
}
668680
]]></source>
669-
<p>공통의 자바타입에 대해서는 내장된 타입 별칭이 있다.
670-
이 모두 대소문자를 가린다.</p>
681+
<p>공통 자바 타입을 위한 여러 내장 타입 별칭이 존재한다. 이들은 대소문자를 구별하지 않으며, 오버로딩된 이름 때문에 원시형 타입은 특별 취급된다는 것을 주의해라.</p>
671682
<table>
672683
<thead>
673684
<tr>

src/site/ko/xdoc/dynamic-sql.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ AND title like ‘someTitle’]]></source>
190190
<p>XML설정 파일과 XML 매핑 파일에 대해서는 이 정도에서 정리하고 다음 섹션에서는 Java API 에 대해 좀더 상세하게 살펴볼 것이다.</p>
191191
</subsection>
192192
<subsection name="script">
193-
<p>For using dynamic SQL in annotated mapper class, <em>script</em> element can be used. For example:</p>
193+
<p>애노테이션을 사용한 매퍼 클래스에서 동적 SQL을 사용하는 경우 <em>script</em> 태그를 사용할 수 있다. 예를 들어:</p>
194194
<source><![CDATA[
195195
@Update({"<script>",
196196
"update Author",

src/site/ko/xdoc/sqlmap-xml.xml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,8 @@ ps.setInt(1,id);]]></source>
512512
<p>여기서 마이바티스는 문자열을 변경하거나 이스케이프 처리하지 않는다.</p>
513513

514514
<p>
515-
String Substitution can be very useful when the metadata(i.e. table name or column name) in the sql statement is dynamic,
516-
for example, if you want to <code>select</code> from a table by any one of its columns, instead of writing code like:
515+
문자열 대체는 SQL 구문의 메타데이터(예를 들어 테이블 이름, 칼럼 이름)가 동적일 때 매우 유용하게 사용할 수 있다.
516+
예를 들면, 테이블의 칼럼 중 하나로 테이블의 데이터를 <code>select</code>하고 싶을 때 아래와 같이 작성하는 대신:
517517
<source><![CDATA[
518518
@Select("select * from user where id = #{id}")
519519
User findById(@Param("id") long id);
@@ -526,13 +526,13 @@ User findByEmail(@Param("email") String email);
526526
527527
// and more "findByXxx" method
528528
]]></source>
529-
you can just write:
529+
다음과 같이 작성할 수 있다:
530530
<source><![CDATA[
531531
@Select("select * from user where ${column} = #{value}")
532532
User findByColumn(@Param("column") String column, @Param("value") String value);
533533
]]></source>
534-
in which the <code>${column}</code> will be substituted directly and the <code>#{value}</code> will be "prepared".
535-
Thus you can just do the same work by:
534+
여기서 <code>${column}</code>은 지정한 문자열로 직접 대체되고, <code>#{value}</code>"prepared" 될 것이므로
535+
아래와 같이 사용할 수 있다:
536536
<source><![CDATA[
537537
User userOfId1 = userMapper.findByColumn("id", 1L);
538538
User userOfNameKid = userMapper.findByColumn("name", "kid");
@@ -541,7 +541,7 @@ User userOfEmail = userMapper.findByColumn("email", "[email protected]");
541541
</p>
542542

543543
<p>
544-
This idea can be applied to substitute the table name as well.
544+
이 아이디어는 테이블 이름을 대체하는 데에도 적용할 수 있다.
545545
</p>
546546

547547
<p>
@@ -641,8 +641,8 @@ public class User {
641641

642642
<source><![CDATA[<resultMap id="userResultMap" type="User">
643643
<id property="id" column="user_id" />
644-
<result property="username" column="username"/>
645-
<result property="password" column="password"/>
644+
<result property="username" column="user_name"/>
645+
<result property="password" column="hashed_password"/>
646646
</resultMap>]]></source>
647647

648648
<p>구문에서는 resultMap속성에 이를 지정하여 참조한다.
@@ -1634,10 +1634,8 @@ public class User {
16341634
</ul>
16351635

16361636
<p>
1637-
<span class="label important">NOTE</span> The cache will only apply to statements declared in the mapping file
1638-
where the cache tag is located. If you are using the Java API in conjunction with the XML mapping files, then
1639-
statements declared in the companion interface will not be cached by default. You will need to refer to the
1640-
cache region using the @CacheNamespaceRef annotation.
1637+
<span class="label important">참고</span> 캐시는 cache 태그를 사용한 매퍼에 선언된 구문에만 적용된다.
1638+
XML 매퍼와 함께 Java API를 사용하는 경우 Java 매퍼에 작성된 구문을 캐시 적용 대상에 포함시키려면 <code>@CacheNamespaceRef</code>을 사용하여 XML 매퍼의 namespace를 지정해야 한다.
16411639
</p>
16421640

16431641
<p>모든 프로퍼티는 cache 엘리먼트의 속성을 통해 변경가능하다.

0 commit comments

Comments
 (0)