@@ -416,7 +416,7 @@ try (SqlSession session = sqlSessionFactory.openSession()) {
416
416
<td >该注解允许你指定大部分开关和配置选项,它们通常在映射语句上作为属性出现。与在注解上提供大量的属性相比,<code >Options</code > 注解提供了一致、清晰的方式来指定选项。属性:<code >useCache=true</code >、<code >flushCache=FlushCachePolicy.DEFAULT</code >、<code >resultSetType=DEFAULT</code >、<code >statementType=PREPARED</code >、<code >fetchSize=-1</code >、<code >timeout=-1</code >、<code >useGeneratedKeys=false</code >、<code >keyProperty=""</code >、<code >keyColumn=""</code >、<code >resultSets=""</code >, <code >databaseId=""</code >。注意,Java 注解无法指定 <code >null</code > 值。因此,一旦你使用了 <code >Options</code > 注解,你的语句就会被上述属性的默认值所影响。要注意避免默认值带来的非预期行为。
417
417
<code >databaseId</code >(3.5.5以上可用), 如果有一个配置好的 <code >DatabaseIdProvider</code >,
418
418
MyBatis 会加载不带 <code >databaseId</code > 属性和带有匹配当前数据库 <code >databaseId</code > 属性的所有语句。如果同时存在带 <code >databaseId</code > 和不带 <code >databaseId</code > 属性的相同语句,则后者会被舍弃。<br /><br />
419
-
419
+
420
420
注意:<code >keyColumn</code > 属性只在某些数据库中有效(如 Oracle、PostgreSQL 等)。要了解更多关于 <code >keyColumn</code > 和 <code >keyProperty</code > 可选值信息,请查看“insert, update 和 delete”一节。</td >
421
421
</tr >
422
422
<tr >
@@ -585,10 +585,10 @@ class UserSqlBuilder {
585
585
<p >这是一个在全局配置下让所有映射方法在同一个 sql provider 类里面的例子(3.5.6 后可用):</p >
586
586
<source ><![CDATA[
587
587
Configuration configuration = new Configuration();
588
- configuration.setDefaultSqlProviderType(TemplateFilePathProvider.class); // 让所有映射方法在同一个 sql provider 类里面
588
+ configuration.setDefaultSqlProviderType(TemplateFilePathProvider.class); // 让所有映射方法在同一个 sql provider 类里面
589
589
// ...]]> </source >
590
590
<source ><![CDATA[
591
- // 在 sql provider 注解上可以省略 type/value 属性
591
+ // 在 sql provider 注解上可以省略 type/value 属性
592
592
// 如果省略,MyBatis 将使用 defaultSqlProviderType 所指定的类
593
593
public interface UserMapper {
594
594
@@ -627,7 +627,7 @@ class UserSqlProvider implements ProviderMethodResolver {
627
627
628
628
<p >这个例子展现了如何在声明注解时使用 <code >databaseId</code > 属性(3.5.5后可用):</p >
629
629
<source ><![CDATA[
630
- @Select(value = "SELECT SYS_GUID() FROM dual", databaseId = "oracle") // 如果 DatabaseIdProvider 提供的是 "oracle",使用这条语句
630
+ @Select(value = "SELECT SYS_GUID() FROM dual", databaseId = "oracle") // 如果 DatabaseIdProvider 提供的是 "oracle",使用这条语句
631
631
@Select(value = "SELECT uuid_generate_v4()", databaseId = "postgres") // 如果 DatabaseIdProvider 提供的是 "postgres",使用这条语句
632
632
@Select("SELECT RANDOM_UUID()") // 如果 DatabaseIdProvider 没有配置或者没有对应的 databaseId, 使用这条语句
633
633
String generateId();
0 commit comments