From 344d4bb7cc3be3f8e3b90f801e793345970c1d1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Sat, 15 Jul 2023 08:52:14 +0800 Subject: [PATCH] docs: update docs --- docs/zh/base/relations-query.md | 7 ++++++- docs/zh/others/codegen.md | 36 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/zh/base/relations-query.md b/docs/zh/base/relations-query.md index b26c6d14..74840884 100644 --- a/docs/zh/base/relations-query.md +++ b/docs/zh/base/relations-query.md @@ -484,7 +484,12 @@ RelationManager.addIgnoreRelations("idCard","books"); List accounts = accountMapper.selectAllWithRelations(); ``` ->`addIgnoreRelations()` 方法的配置,只在当前第一次查询有效,查询后会清除设置。 +>`addIgnoreRelations()` 方法的配置,只在当前第一次查询有效,查询后会清除设置。另外需要注意的是: +> `addIgnoreRelations()` 的设置,是会影响其所有嵌套的 Relations 配置的。在嵌套的场景中,如果存在同名的属性, +> 比如 `class A ` 和 `class B` 都有相同的属性 `x`,假设我们想忽略 `class A` 中的 `x` 而 `class B` 的 `x` 不忽略, +> 那么我们需要添加上类名的前缀,例如:`addIgnoreRelations("A.x")`。 + + ## 附加条件 diff --git a/docs/zh/others/codegen.md b/docs/zh/others/codegen.md index 7716ea31..f6cbe3e7 100644 --- a/docs/zh/others/codegen.md +++ b/docs/zh/others/codegen.md @@ -512,6 +512,42 @@ public class EnjoyTemplate implements ITemplate { } ``` +## 自定义数据方言 +在 MyBatis-Flex 的代码生成器中,已经内置了 4 中方言,他们分别是: + +- 默认方言 +- MySQL 方言 +- Oracle 方言 +- SQLite 方言 + +方言可以通过如下的方式进行使用: + +```java 3 +Generator generator = new Generator(dataSource + , globalConfig + , IDialect.ORACLE); //使用哪个方言 + +generator.generate(); +``` +> 不传入方言的情况下,使用默认方言。 + +针对不同的数据库,我们也可以通过自定义方言来实现代码生成,例如: + +MyDialect.java +```java +class MyDialect implements IDialect{ + //重写相关构建方法 +} +``` +开始使用 MyDialect +```java 3 +Generator generator = new Generator(dataSource + , globalConfig + , new MyDialect()); //使用哪个方言 + +generator.generate(); +``` + ## 添加其他产物的生成 通过实现 `IGenerator` 来实现,比如 Entity 实体类的代码如下: