update docs

This commit is contained in:
开源海哥 2023-05-24 13:38:12 +08:00
parent 0613699c98
commit 5bb0f6dfab
2 changed files with 11 additions and 10 deletions

View File

@ -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<Article> articles = mapper.selectListByQuery(queryWrapper, fieldQueryBuilder -> {
fieldQueryBuilder
List<Article> 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` 对象里的属性,需要二次查询赋值的,都是可以通过这种方式进行。
这些不仅仅只适用于 `一对多``一对一``多对一``多对多`等场景。任何 `Article` 对象里的属性,需要二次查询赋值的,都是可以通过这种方式进行。

View File

@ -18,6 +18,7 @@ MyBatis-Flex 使用了 APTAnnotation 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 |