Skip to content

Commit 1e81a11

Browse files
authored
Improve translation quality
Fix typos and give better translations according to english documentation
1 parent 742718a commit 1e81a11

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

src/site/zh/xdoc/configuration.xml

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1322,8 +1322,8 @@ public class ExampleTypeHandler extends BaseTypeHandler<String> {
13221322
]]></source>
13231323

13241324
<p>注意在使用自动检索(autodiscovery)功能的时候,只能通过注解方式来指定 JDBC 的类型。</p>
1325-
<p>你能创建一个泛型类型处理器,它可以处理多于一个类。为达到此目的
1326-
需要增加一个接收该类作为参数的构造器,这样在构造一个类型处理器的时候 MyBatis 就会传入一个具体的类。</p>
1325+
<p>你可以创建一个能够处理多个类的泛型类型处理器。为了使用泛型类型处理器
1326+
需要增加一个接受该类的 class 作为参数的构造器,这样在构造一个类型处理器的时候 MyBatis 就会传入一个具体的类。</p>
13271327

13281328
<source><![CDATA[//GenericTypeHandler.java
13291329
public class GenericTypeHandler<E extends MyObject> extends BaseTypeHandler<E> {
@@ -1361,9 +1361,9 @@ public class GenericTypeHandler<E extends MyObject> extends BaseTypeHandler<E> {
13611361
<p>但是怎样能将同样的 <code>Enum</code> 既映射成字符串又映射成整形呢?</p>
13621362
<p>
13631363
自动映射器(auto-mapper)会自动地选用 <code>EnumOrdinalTypeHandler</code> 来处理,
1364-
所以如果我们想用普通的 <code>EnumTypeHandler</code>,就非要为那些 SQL 语句显式地设置要用到的类型处理器不可
1364+
所以如果我们想用普通的 <code>EnumTypeHandler</code>,就必须要显式地为那些 SQL 语句设置要使用的类型处理器
13651365
</p>
1366-
<p>(下一节才开始讲映射器文件,所以如果是首次阅读该文档,你可能需要先越过这一步,过会再来看。)</p>
1366+
<p>(下一节才开始介绍映射器文件,如果你是首次阅读该文档,你可能需要先跳过这里,过会再来看。)</p>
13671367
<source><![CDATA[<!DOCTYPE mapper
13681368
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
13691369
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
@@ -1458,11 +1458,11 @@ public class ExampleObjectFactory extends DefaultObjectFactory {
14581458
(prepare, parameterize, batch, update, query)
14591459
</li>
14601460
</ul>
1461-
<p>这些类中方法的细节可以通过查看每个方法的签名来发现,或者直接查看 MyBatis 的发行包中的源代码
1462-
假设你想做的不仅仅是监控方法的调用,那么你应该很好的了解正在重写的方法的行为
1461+
<p>这些类中方法的细节可以通过查看每个方法的签名来发现,或者直接查看 MyBatis 发行包中的源代码
1462+
如果你想做的不仅仅是监控方法的调用,那么你最好相当了解要重写的方法的行为
14631463
因为如果在试图修改或重写已有方法的行为的时候,你很可能在破坏 MyBatis 的核心模块。
14641464
这些都是更低层的类和方法,所以使用插件的时候要特别当心。</p>
1465-
<p>通过 MyBatis 提供的强大机制,使用插件是非常简单的,只需实现 Interceptor 接口,并指定了想要拦截的方法签名即可。</p>
1465+
<p>通过 MyBatis 提供的强大机制,使用插件是非常简单的,只需实现 Interceptor 接口,并指定想要拦截的方法签名即可。</p>
14661466

14671467
<source><![CDATA[// ExamplePlugin.java
14681468
@Intercepts({@Signature(
@@ -1513,13 +1513,13 @@ public class ExamplePlugin implements Interceptor {
15131513
</p>
15141514

15151515
<source><![CDATA[SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment);
1516-
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment,properties);]]></source>
1516+
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, properties);]]></source>
15171517

15181518
<p>如果忽略了环境参数,那么默认环境将会被加载,如下所示:
15191519
</p>
15201520

15211521
<source><![CDATA[SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
1522-
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,properties);]]></source>
1522+
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, properties);]]></source>
15231523

15241524
<p>环境元素定义了如何配置环境。
15251525
</p>
@@ -1542,19 +1542,19 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,properti
15421542
</p>
15431543
<ul>
15441544
<li>
1545-
默认的环境 ID(比如:default=development)。
1545+
默认的环境 ID(比如:default="development")。
15461546
</li>
15471547
<li>
1548-
每个 environment 元素定义的环境 ID(比如:id=development)。
1548+
每个 environment 元素定义的环境 ID(比如:id="development")。
15491549
</li>
15501550
<li>
1551-
事务管理器的配置(比如:type=JDBC)。
1551+
事务管理器的配置(比如:type="JDBC")。
15521552
</li>
15531553
<li>
1554-
数据源的配置(比如:type=POOLED)。
1554+
数据源的配置(比如:type="POOLED")。
15551555
</li>
15561556
</ul>
1557-
<p>默认的环境和环境 ID 是一目了然的。随你怎么命名,只要保证默认环境要匹配其中一个环境ID
1557+
<p>默认的环境和环境 ID 是自解释的,因此一目了然。你可以对环境随意命名,但一定要保证默认的环境 ID 要匹配其中一个环境 ID
15581558
</p>
15591559
<p>
15601560
<strong>事务管理器(transactionManager)</strong>
@@ -1596,15 +1596,15 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,properti
15961596
</p>
15971597
<p>dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。</p>
15981598
<ul>
1599-
<li>许多 MyBatis 的应用程序将会按示例中的例子来配置数据源。然而它并不是必须的。要知道为了方便使用延迟加载,数据源才是必须的
1599+
<li>许多 MyBatis 的应用程序会按示例中的例子来配置数据源。虽然这是可选的,但为了使用延迟加载,数据源是必须配置的
16001600
</li>
16011601
</ul>
16021602
<p>有三种内建的数据源类型(也就是 type=”[UNPOOLED|POOLED|JNDI]”):</p>
16031603
<p>
1604-
<strong>UNPOOLED</strong>– 这个数据源的实现只是每次被请求时打开和关闭连接。虽然一点慢,它对在及时可用连接方面没有性能要求的简单应用程序是一个很好的选择
1605-
不同的数据库在这方面表现也是不一样的,所以对某些数据库来说使用连接池并不重要,这个配置也是理想的。UNPOOLED 类型的数据源仅仅需要配置以下 5 种属性:</p>
1604+
<strong>UNPOOLED</strong>– 这个数据源的实现只是每次被请求时打开和关闭连接。虽然有点慢,但对于在数据库连接可用性方面没有太高要求的简单应用程序来说,是一个很好的选择
1605+
不同的数据库在性能方面的表现也是不一样的,对于某些数据库来说,使用连接池并不重要,这个配置就很适合这种情形。UNPOOLED 类型的数据源仅仅需要配置以下 5 种属性:</p>
16061606
<ul>
1607-
<li><code>driver</code> – 这是 JDBC 驱动的 Java 类的完全限定名(并不是JDBC驱动中可能包含的数据源类)。
1607+
<li><code>driver</code> – 这是 JDBC 驱动的 Java 类的完全限定名(并不是 JDBC 驱动中可能包含的数据源类)。
16081608
</li>
16091609
<li><code>url</code> – 这是数据库的 JDBC URL 地址。
16101610
</li>
@@ -1620,13 +1620,13 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,properti
16201620
<ul>
16211621
<li><code>driver.encoding=UTF8</code></li>
16221622
</ul>
1623-
<p>这将通过DriverManager.getConnection(url,driverProperties)方法传递值为 <code>UTF8</code> 的 <code>encoding</code> 属性给数据库驱动。
1623+
<p>这将通过 DriverManager.getConnection(url,driverProperties) 方法传递值为 <code>UTF8</code> 的 <code>encoding</code> 属性给数据库驱动。
16241624
</p>
16251625
<p>
16261626
<strong>POOLED</strong>– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。
16271627
这是一种使得并发 Web 应用快速响应请求的流行处理方式。
16281628
</p>
1629-
<p>除了上述提到 UNPOOLED 下的属性外,会有更多属性用来配置 POOLED 的数据源:</p>
1629+
<p>除了上述提到 UNPOOLED 下的属性外,还有更多属性用来配置 POOLED 的数据源:</p>
16301630
<ul>
16311631
<li><code>poolMaximumActiveConnections</code> – 在任意时间可以存在的活动(也就是正在使用)连接数量,默认值:10
16321632
</li>
@@ -1635,22 +1635,21 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,properti
16351635
</li>
16361636
<li><code>poolMaximumCheckoutTime</code> – 在被强制返回之前,池中连接被检出(checked out)时间,默认值:20000 毫秒(即 20 秒)
16371637
</li>
1638-
<li><code>poolTimeToWait</code> – 这是一个底层设置,如果获取连接花费的相当长的时间,它会给连接池打印状态日志并重新尝试获取一个连接(避免在误配置的情况下一直安静的失败),默认值:20000 毫秒(即 20 秒)。
1638+
<li><code>poolTimeToWait</code> – 这是一个底层设置,如果获取连接花费了相当长的时间,连接池会打印状态日志并重新尝试获取一个连接(避免在误配置的情况下一直安静的失败),默认值:20000 毫秒(即 20 秒)。
16391639
</li>
16401640
<li><code>poolMaximumLocalBadConnectionTolerance</code> – 这是一个关于坏连接容忍度的底层设置,
1641-
作用于每一个尝试从缓存池获取连接的线程. 如果这个线程获取到的是一个坏的连接,那么这个数据源允许这
1642-
个线程尝试重新获取一个新的连接,但是这个重新尝试的次数不应该超过 <code>poolMaximumIdleConnections</code>
1643-
与 <code>poolMaximumLocalBadConnectionTolerance</code> 之和。 默认值:3 (Since: 3.4.5)
1641+
作用于每一个尝试从缓存池获取连接的线程. 如果这个线程获取到的是一个坏的连接,那么这个数据源允许这个线程尝试重新获取一个新的连接,但是这个重新尝试的次数不应该超过 <code>poolMaximumIdleConnections</code>
1642+
与 <code>poolMaximumLocalBadConnectionTolerance</code> 之和。 默认值:3 (新增于 3.4.5)
16441643
</li>
1645-
<li><code>poolPingQuery</code> – 发送到数据库的侦测查询,用来检验连接是否处在正常工作秩序中并准备接受请求。默认是“NO PING QUERY SET”,这会导致多数数据库驱动失败时带有一个恰当的错误消息。
1644+
<li><code>poolPingQuery</code> – 发送到数据库的侦测查询,用来检验连接是否正常工作并准备接受请求。默认是“NO PING QUERY SET”,这会导致多数数据库驱动失败时带有一个恰当的错误消息。
16461645
</li>
1647-
<li><code>poolPingEnabled</code> – 是否启用侦测查询。若开启,也必须使用一个可执行的 SQL 语句设置 <code>poolPingQuery</code> 属性(最好是一个非常快的 SQL),默认值:false。
1646+
<li><code>poolPingEnabled</code> – 是否启用侦测查询。若开启,需要设置 <code>poolPingQuery</code> 属性为一个可执行的 SQL 语句(最好是一个速度非常快的 SQL 语句),默认值:false。
16481647
</li>
1649-
<li><code>poolPingConnectionsNotUsedFor</code> – 配置 poolPingQuery 的使用频度。这可以被设置成匹配具体的数据库连接超时时间,来避免不必要的侦测,默认值:0(即所有连接每一时刻都被侦测 — 当然仅当 poolPingEnabled 为 true 时适用)。
1648+
<li><code>poolPingConnectionsNotUsedFor</code> – 配置 poolPingQuery 的频率。可以被设置为和数据库连接超时时间一样,来避免不必要的侦测,默认值:0(即所有连接每一时刻都被侦测 — 当然仅当 poolPingEnabled 为 true 时适用)。
16501649
</li>
16511650
</ul>
16521651
<p>
1653-
<strong>JNDI</strong>– 这个数据源的实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。这种数据源配置只需要两个属性:
1652+
<strong>JNDI</strong> – 这个数据源的实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。这种数据源配置只需要两个属性:
16541653
</p>
16551654
<ul>
16561655
<li><code>initial_context</code> – 这个属性用来在 InitialContext 中寻找上下文(即,initialContext.lookup(initial_context))。这是个可选属性,如果忽略,那么 data_source 属性将会直接从 InitialContext 中寻找。
@@ -1667,7 +1666,7 @@ SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,properti
16671666
</p>
16681667

16691668
<p>
1670-
通过需要实现接口 <code>org.apache.ibatis.datasource.DataSourceFactory</code> , 也可使用任何第三方数据源,
1669+
你可以通过实现接口 <code>org.apache.ibatis.datasource.DataSourceFactory</code> 来使用第三方数据源
16711670
</p>
16721671

16731672
<source><![CDATA[public interface DataSourceFactory {
@@ -1689,7 +1688,7 @@ public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
16891688
}
16901689
}]]></source>
16911690

1692-
<p>为了令其工作,为每个需要 MyBatis 调用的 setter 方法中增加一个属性。下面是一个可以连接至 PostgreSQL 数据库的例子:</p>
1691+
<p>为了令其工作,记得为每个希望 MyBatis 调用的 setter 方法在配置文件中增加对应的属性。下面是一个可以连接至 PostgreSQL 数据库的例子:</p>
16931692

16941693
<source><![CDATA[<dataSource type="org.myproject.C3P0DataSourceFactory">
16951694
<property name="driver" value="org.postgresql.Driver"/>
@@ -1719,7 +1718,7 @@ public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
17191718
<property name="Oracle" value="oracle" />
17201719
</databaseIdProvider>]]></source>
17211720

1722-
<p>在有 properties 时,DB_VENDOR databaseIdProvider 的将被设置为第一个能匹配数据库产品名称的属性键对应的值,如果没有匹配的属性将会设置为 “null”。
1721+
<p>在提供了属性别名时,DB_VENDOR databaseIdProvider 将被设置为第一个能匹配数据库产品名称的属性键对应的值,如果没有匹配的属性将会设置为 “null”。
17231722
在这个例子中,如果 <code>getDatabaseProductName()</code> 返回“Oracle (DataDirect)”,databaseId 将被设置为“oracle”。</p>
17241723

17251724
<p>你可以通过实现接口 <code>org.apache.ibatis.mapping.DatabaseIdProvider</code> 并在 mybatis-config.xml 中注册来构建自己的 DatabaseIdProvider:</p>
@@ -1735,28 +1734,28 @@ public class C3P0DataSourceFactory extends UnpooledDataSourceFactory {
17351734
<p>既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要定义 SQL 映射语句了。但是首先我们需要告诉 MyBatis 到哪里去找到这些语句。
17361735
Java 在自动查找这方面没有提供一个很好的方法,所以最佳的方式是告诉 MyBatis 到哪里去找映射文件。你可以使用相对于类路径的资源引用,
17371736
或完全限定资源定位符(包括 <code>file:///</code> 的 URL),或类名和包名等。例如:</p>
1738-
<source><![CDATA[<!-- Using classpath relative resources -->
1737+
<source><![CDATA[<!-- 使用相对于类路径的资源引用 -->
17391738
<mappers>
17401739
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
17411740
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
17421741
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
17431742
</mappers>]]></source>
17441743

1745-
<source><![CDATA[<!-- Using url fully qualified paths -->
1744+
<source><![CDATA[<!-- 使用完全限定资源定位符(URL) -->
17461745
<mappers>
17471746
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
17481747
<mapper url="file:///var/mappers/BlogMapper.xml"/>
17491748
<mapper url="file:///var/mappers/PostMapper.xml"/>
17501749
</mappers>]]></source>
17511750

1752-
<source><![CDATA[<!-- Using mapper interface classes -->
1751+
<source><![CDATA[<!-- 使用映射器接口实现类的完全限定类名 -->
17531752
<mappers>
17541753
<mapper class="org.mybatis.builder.AuthorMapper"/>
17551754
<mapper class="org.mybatis.builder.BlogMapper"/>
17561755
<mapper class="org.mybatis.builder.PostMapper"/>
17571756
</mappers>]]></source>
17581757

1759-
<source><![CDATA[<!-- Register all interfaces in a package as mappers -->
1758+
<source><![CDATA[<!-- 将包内的映射器接口实现全部注册为映射器 -->
17601759
<mappers>
17611760
<package name="org.mybatis.builder"/>
17621761
</mappers>]]></source>

0 commit comments

Comments
 (0)