From 5bb0f6dfabcd7274b1aae7f5e43960062c4a9b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Wed, 24 May 2023 13:38:12 +0800 Subject: [PATCH] update docs --- docs/zh/base/field-query.md | 20 ++++++++++---------- docs/zh/others/apt.md | 1 + 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/zh/base/field-query.md b/docs/zh/base/field-query.md index 828a9dba..ee8cb2ae 100644 --- a/docs/zh/base/field-query.md +++ b/docs/zh/base/field-query.md @@ -1,10 +1,10 @@ # 一对多、多对一 -在很多场景下,我们可能会用到 `一对多`、`一对一`、`多对一`等场景的关联查询,MyBatis-Flex 内置了相关的方法,用于支持此类场景。 +在很多场景下,我们可能会用到 `一对多`、`一对一`、`多对一`、`多对多`等场景的关联查询,MyBatis-Flex 内置了相关的方法,用于支持此类场景。 -## 代码示例 +## 代码示例(多对多) -以下是文章的示例,一篇文章可能归属于多个分类。 +以下是文章的示例,一篇文章可能归属于多个分类,一个类可以有多篇文章,需要用到中间表 `article_category_mapping`。 ```java public class Article { @@ -21,23 +21,23 @@ public class Article { 查询代码如下: -```java {10-13} +```java {10-14} QueryWrapper queryWrapper = QueryWrapper.create() .select().form(ARTICLE) .where(ARTICLE.id.ge(100)); -List
articles = mapper.selectListByQuery(queryWrapper, fieldQueryBuilder -> { - fieldQueryBuilder +List
articles = mapper.selectListByQuery(queryWrapper + , fieldQueryBuilder -> fieldQueryBuilder .field(Article::getCategories) // 或者 .field("categories") - .type(Category.class) //非集合,可以不指定 type + .type(Category.class) //非集合,自动读取 type,可以不指定 type .queryWrapper(article -> QueryWrapper.create() .select().from(CATEGORY) .where(CATEGORY.id.in( select("category_id").from("article_category_mapping") .where("article_id = ?", article.getId()) ) - )); - }); + ) + ); ``` 通过以上代码可以看出,`Article.categories` 字段的结果,来源于 `queryWrapper()` 方法构建的 `QueryWrapper`。 @@ -85,4 +85,4 @@ select * from tb_category where id in ## 其他场景 通过以上内容看出,`Article` 的任何属性,都是可以通过传入 `FieldQueryBuilder` 来构建 `QueryWrapper` 进行再次查询, -这些不仅仅只适用于 `一对多`、`一对一`、`多对一`等场景。任何 `Article` 对象里的属性,需要二次查询赋值的,都是可以通过这种方式进行。 \ No newline at end of file +这些不仅仅只适用于 `一对多`、`一对一`、`多对一`、`多对多`等场景。任何 `Article` 对象里的属性,需要二次查询赋值的,都是可以通过这种方式进行。 \ No newline at end of file diff --git a/docs/zh/others/apt.md b/docs/zh/others/apt.md index ef8a57c8..686c3495 100644 --- a/docs/zh/others/apt.md +++ b/docs/zh/others/apt.md @@ -18,6 +18,7 @@ MyBatis-Flex 使用了 APT(Annotation Processing Tool)技术,在项目编 | processor.enable | 全局启用apt开关 | true/false | true | | processor.mappersGenerateEnable | 开启 Mapper 自动生成 | true/false | false | | processor.genPath | APT 代码生成路径 | 合法的绝对或相对路径 | target/generated-sources/annotations | +| processor.allInTables | 是否所有的类都生成在 Tables 类里 | true/false | false | | processor.tablesPackage | Tables 类名 | 合法的包名 | ${entityPackage}.table | | processor.tablesClassName | Tables 类名 | 合法的类名 | Tables | | processor.baseMapperClass | 自定义 Mapper 的父类 | 全路径类名 | com.mybatisflex.core.BaseMapper |