Skip to content

Commit 243373b

Browse files
authored
Merge pull request #239 from CailyPersonal/master
optimize and fix translation for zh
2 parents 93deb29 + 63a2311 commit 243373b

File tree

2 files changed

+47
-64
lines changed

2 files changed

+47
-64
lines changed

src/site/zh/xdoc/factorybean.xml

Lines changed: 32 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,25 @@
2929
<body>
3030
<section name="SqlSessionFactoryBean">
3131
<p>
32-
在基本的 MyBatis 中,session 工厂可以使用 SqlSessionFactoryBuilder 来创建。而在
33-
MyBatis-Spring 中,则使用 SqlSessionFactoryBean 来替代
32+
在基础的MyBatis中,通过SqlSessionFactoryBuilder来创建SqlSessionFactory。而在
33+
MyBatis-Spring中,则使用SqlSessionFactoryBean来创建
3434
</p>
3535

3636
<subsection name="Setup">
3737
<p>
38-
要创建工厂 bean,放置下面的代码在 Spring 的 XML 配置文件中:
38+
要创建工厂bean,将下面的代码放到Spring的XML配置文件中:
3939
</p>
4040
<source><![CDATA[
4141
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
4242
<property name="dataSource" ref="dataSource" />
4343
</bean>]]></source>
44-
<p>
45-
要注意 SqlSessionFactoryBean 实现了 Spring 的 FactoryBean 接口(see <a href="https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-extension-factorybean">the Spring documentation(Core Technologies -Customizing instantiation logic with a FactoryBean-)</a>)
46-
这就说明了由 Spring 最终创建的 bean 不是 SqlSessionFactoryBean 本身,。
47-
而是工厂类的 getObject()返回的方法的结果。这种情况下,Spring 将会在应用启动时为你
48-
创建 SqlSessionFactory 对象,然后将它以 SqlSessionFactory 为名来存储。在 Java 中,
49-
相同的代码是:
50-
</p>
44+
45+
<p>
46+
需要注意的是SqlSessionFactoryBean实现了Spring的FactoryBean接口(可查看官方文档<a href="https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-extension-factorybean">通过工厂bean自定义实例化逻辑</a>)。这意味着由Spring最终创建的bean并不是SqlSessionFactoryBean本身,
47+
而是工厂类(SqlSessionFactoryBean)的 getObject()方法的返回结果。这种情况下Spring
48+
将会在应用启动时为你创建SqlSessionFactory的bean对象,然后将其名字设为sqlSessionFactory。
49+
在 Java 中的等效代码如下:
50+
</p>
5151

5252
<source><![CDATA[
5353
@Bean
@@ -58,47 +58,40 @@ public SqlSessionFactory sqlSessionFactory() {
5858
}]]></source>
5959

6060
<p>
61-
在一般的 MyBatis-Spring 用法中,
62-
你不需要直接使用 SqlSessionFactoryBean 或和其对
63-
应的 SqlSessionFactory。相反,session 工厂将会被注入到 MapperFactoryBean 或其它扩
64-
展了 SqlSessionDaoSupport 的 DAO(Data Access Object,数据访问对象,译者注)中。
61+
在通常的MyBatis-Spring 用法中,你不需要直接使用SqlSessionFactoryBean或对
62+
应的SqlSessionFactory。相反,session的工厂bean将会被注入到MapperFactoryBean或其它扩
63+
展了SqlSessionDaoSupport的DAO(Data Access Object,数据访问对象,译者注)中。
6564
</p>
6665
</subsection>
6766

6867
<subsection name="属性">
6968

7069
<p>
71-
SqlSessionFactory 有一个单独的必须属性,就是 JDBC 的 DataSource。这可以是任意
72-
的 DataSource,其配置应该和其它 Spring 数据库连接是一样的
70+
SqlSessionFactory有一个唯一的必要属性:用于JDBC的DataSource。这可以是任意
71+
的DataSource对象,它的配置应该和其它Spring数据库连接是一样的
7372
</p>
7473

7574
<p>
76-
一个通用的属性是 configLocation,它是用来指定 MyBatis 的 XML 配置文件路径的。
77-
如果基本的 MyBatis 配置需要改变,
78-
那么这就是一个需要它的地方。
79-
通常这会是<code>&lt;settings&gt;</code>
75+
一个通用的属性是configLocation,它用来指定MyBatis的XML配置文件路径。
76+
如果需要修改MyBatis的基础配置,那么它就有用了。通常这会是<code>&lt;settings&gt;</code>
8077
或<code>&lt;typeAliases&gt;</code>的部分。
8178
</p>
8279

8380
<p>
84-
要注意这个配置文件不需要是一个完整的 MyBatis 配置。确切地说,任意环境,数据源
85-
和 MyBatis 的事务管理器都会被忽略。SqlSessionFactoryBean 会创建它自己的,使用这些
86-
值定制 MyBatis 的 Environment 时是需要的
81+
需要注意的是,这个配置文件并不需要是一个完整的MyBatis配置。确切地说,任何环境,数据源
82+
和MyBatis的事务管理器都会被忽略。SqlSessionFactoryBean会创建它自己的,使用这些
83+
值定制MyBatis的Environment时是需要的
8784
</p>
8885

8986
<p>
90-
如果 MyBatis 映射器 XML 文件在和映射器类相同的路径下不存在,那么另外一个需要
91-
配置文件的原因就是它了。使用这个配置,有两种选择。第一是手动在 MyBatis 的 XML 配
92-
置文件中使用&lt;mappers&gt;部分来指定类路径。第二是使用工厂 bean 的 mapperLocations 属
93-
性。
87+
如果MyBatis在映射器类对应的路径下不存在与之相应的映射器XML文件,那么此时也需要配置文件。
88+
有两种方式来使用配置:第一种是是手动在MyBatis的XML配置文件中使用&lt;mappers&gt;部分来
89+
指定类路径;第二种是使用工厂bean的mapperLocations属性。
9490
</p>
9591

9692
<p>
97-
mapperLocations 属性使用一个资源位置的 list。
98-
这个属性可以用来指定 MyBatis 的 XML
99-
映射器文件的位置。
100-
它的值可以包含 Ant 样式来加载一个目录中所有文件,
101-
或者从基路径下
93+
mapperLocations属性使用list来表示资源位置。这个属性可以用来指定MyBatis的XML
94+
映射器文件的位置。它的值可以包含Ant样式来加载一个目录中所有文件,或者从基路径下
10295
递归搜索所有路径。比如:
10396
</p>
10497

@@ -109,17 +102,16 @@ mapperLocations 属性使用一个资源位置的 list。
109102
</bean>]]></source>
110103

111104
<p>
112-
这会从类路径下加载在 sample.config.mappers 包和它的子包中所有的 MyBatis 映射器
113-
XML 文件。
105+
这会从类路径下加载在sample.config.mappers包和它的子包中所有的MyBatis映射器XML文件。
114106
</p>
115107

116108
<p>
117-
在容器环境管理事务中,一个可能需要的属性是 transactionFactoryClass。请参考
118-
第四章(4.2 节)中来查看有关部分
109+
在容器环境管理事务中,一个可能需要的属性是transactionFactoryClass。请参考第四章(4.2 节)中来查看有关部分。
110+
如果你正在使用多数据库功能,那么就需要设置databaseIdProvider属性
119111
</p>
120112

121113
<p>
122-
In case you are using the multi-db feature you will need to set the <code>databaseIdProvider</code> property:
114+
如果你使用了多数据库,那么需要设置<code>databaseIdProvider</code>属性:
123115
</p>
124116

125117
<source><![CDATA[
@@ -142,9 +134,9 @@ XML 文件。
142134

143135
<p>
144136
<span class="label important">NOTE</span>
145-
Since 1.3.0, <code>configuration</code> property has been added.
146-
It can be specified a <code>Configuration</code> instance directly without MyBatis XML configuration file.
147-
For example:
137+
自1.3.0版本开始添加<code>configuration</code>属性。
138+
它能够在没有MyBatis对应的XML配置文件的情况下直接指定<code>Configuration</code>实例。
139+
举个栗子:
148140
</p>
149141

150142
<source><![CDATA[

src/site/zh/xdoc/getting-started.xml.vm

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,17 @@
2929
<body>
3030
<section name="第二章 入门">
3131
<p>
32-
本章将会以简略的步骤告诉你如何安装和创建 MyBatis-Spring,并构建一个简单的数据
33-
访问事务性的应用程序。
32+
本章将会以简略的步骤告诉你如何安装和创建 MyBatis-Spring,并构建一个简单的数据访问事务性的应用程序。
3433
</p>
3534

3635
<subsection name="Installation">
3736
<p>
38-
要使用 MyBatis-Spring 模块,你只需要包含
37+
要使用MyBatis-Spring模块,只需要在类路径下包含
3938
<code>mybatis-spring-${project.version}.jar</code>
40-
文 件就可以了,并在类路径中加入相关的依赖
39+
文件和相关依赖
4140
</p>
4241
<p>
43-
如果你使用 Maven,那么在 pom.xml 中加入下面的代码即可:
42+
如果使用Maven,仅需要在pom.xml中加入以下代码即可:
4443
</p>
4544
<source><![CDATA[
4645
<dependency>
@@ -52,13 +51,11 @@
5251

5352
<subsection name="Quick Setup">
5453
<p>
55-
要和 Spring 一起使用 MyBatis,你需要在 Spring 应用上下文中定义至少两样东西:一个
56-
SqlSessionFactory 和至少一个数据映射器类。
54+
要和Spring一起使用MyBatis,需要在Spring应用上下文中定义至少两样东西:一个SqlSessionFactory和至少一个数据映射器类。
5755
</p>
5856

5957
<p>
60-
在 MyBatis-Spring 中,SqlSessionFactoryBean 是用于创建 SqlSessionFactory 的。要
61-
配置这个工厂 bean,放置下面的代码在 Spring 的 配置文件中:
58+
在MyBatis-Spring中,可使用SqlSessionFactoryBean来创建SqlSessionFactory。要配置这个工厂bean,只需要把下面代码放在Spring的XML配置文件中:
6259
</p>
6360

6461
<source><![CDATA[
@@ -75,21 +72,19 @@ public SqlSessionFactoryBean sqlSessionFactory() throws Exception {
7572
}]]></source>
7673

7774
<p>
78-
要注意 SqlSessionFactory 需要一个 DataSource(数据源,译者注)
79-
。这可以是任意
80-
的 DataSource,配置它就和配置其它 Spring 数据库连接一样。
75+
需要注意的是:SqlSessionFactory需要一个DataSource(数据源,译者注)。这可以是任意的DataSource,配置它就和配置其它Spring数据库连接一样。
8176
</p>
8277

8378
<p>
84-
假设你定义了一个如下的数据 mapper 接口:
79+
假设你定义了一个如下的mapper接口:
8580
</p>
8681
<source><![CDATA[public interface UserMapper {
8782
@Select("SELECT * FROM users WHERE id = #{userId}")
8883
User getUser(@Param("userId") String userId);
8984
} ]]></source>
9085

9186
<p>
92-
那么可以使用 MapperFactoryBean,像下面这样来把接口加入到 Spring 中:
87+
那么可以通过MapperFactoryBean像下面那样把接口加入到Spring中:
9388
</p>
9489

9590
<source><![CDATA[
@@ -99,30 +94,26 @@ public SqlSessionFactoryBean sqlSessionFactory() throws Exception {
9994
</bean>]]></source>
10095

10196
<p>
102-
要注意,所指定的映射器类必须是一个接口,而不是具体的实现类。在这个示例中,注
103-
解被用来指定 SQL 语句,但是 MyBatis 的映射器 XML 文件也可以用。
97+
需要注意的是:所指定的映射器类必须是一个接口,而不是具体的实现类。在这个示例中通过注解来指定SQL语句,但是通过MyBatis映射器的XML文件也行。
10498
</p>
10599

106100
<p>
107-
一旦配置好,你可以用注入其它任意 Spring 的 bean 相同的方式直接注入映射器到你的
108-
business/service 对象中。MapperFactoryBean 处理 SqlSession 的创建和关闭它。如果使用
109-
了 Spring 的事务,那么当事务完成时,session 将会提交或回滚。最终,任何异常都会被翻
110-
译成 Spring 的 DataAccessException 异常。
101+
一旦完成配置,你可以像其它Spring中的bean注入方法将映射器到业务(bussiness)或服务(service)对象中。MapperFactoryBean用来处理SqlSession的创建和关闭动作。
102+
如果使用了Spring的事务,那么当事务完成时,session将会被提交或回滚。最终任何异常都会被翻译成Spring的DataAccessException异常。
111103
</p>
112104

113105
<p>
114-
If you use the Java Configuration:
106+
如果你使用Java代码来配置:
115107
</p>
116-
117-
<source><![CDATA[
108+
<source><![CDATA[
118109
@Bean
119110
public UserMapper userMapper() throws Exception {
120111
SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory());
121112
return sqlSessionTemplate.getMapper(UserMapper.class);
122113
}]]></source>
123114

124115
<p>
125-
调用 MyBatis 数据方法现在只需一行代码:
116+
调用MyBatis数据方法现在只需一行代码:
126117
</p>
127118
<source><![CDATA[
128119
public class FooServiceImpl implements FooService {

0 commit comments

Comments
 (0)