From da8a3a9d97b0982c81ca59aeb1702c64b75241fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Fri, 9 Jun 2023 11:31:26 +0800 Subject: [PATCH] update docs --- docs/.vitepress/config.ts | 2 +- docs/zh/base/field-query.md | 36 +++++++++++++++++++++++++----------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 68a4d9ab..9206e3ad 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -61,8 +61,8 @@ export default defineConfig({ items: [ {text: '增、删、改', link: '/zh/base/add-delete-update'}, {text: '查询(多表和分页)', link: '/zh/base/query'}, - {text: '批量操作', link: '/zh/base/batch'}, {text: '一对多、多对一', link: '/zh/base/field-query'}, + {text: '批量操作', link: '/zh/base/batch'}, {text: 'QueryWrapper', link: '/zh/base/querywrapper'}, {text: 'Db + Row', link: '/zh/base/db-row'}, {text: 'IService', link: '/zh/base/service'}, diff --git a/docs/zh/base/field-query.md b/docs/zh/base/field-query.md index e7b1c15d..4ac7a58d 100644 --- a/docs/zh/base/field-query.md +++ b/docs/zh/base/field-query.md @@ -2,7 +2,7 @@ 在很多场景下,我们可能会用到 `一对多`、`一对一`、`多对一`、`多对多`等场景的关联查询,MyBatis-Flex 内置了相关的方法,用于支持此类场景。 -## 代码示例(Field Query) +## Field Query 代码示例 以下是文章的示例,一篇文章可能归属于多个分类,一个类可以有多篇文章,需要用到中间表 `article_category_mapping`。 @@ -106,32 +106,48 @@ List
articles = mapper.selectListByQuery(query 通过以上内容看出,`Article` 的任何属性,都是可以通过传入 `FieldQueryBuilder` 来构建 `QueryWrapper` 进行再次查询, 这些不仅仅只适用于 `一对多`、`一对一`、`多对一`、`多对多`等场景。任何 `Article` 对象里的属性,需要二次查询赋值的,都是可以通过这种方式进行。 -## 结果映射 +[comment]: <> (## 结果映射) -您也可以继续使用联表查询,如果是原生 MyBatis 的话,可以使用 `` 标签来构建结果映射,在 MyBatis-Flex 中提供了自动结果映射功能,这样您就可以只关注于 SQL 语句的构建。 +[comment]: <> (您也可以继续使用联表查询,如果是原生 MyBatis 的话,可以使用 `` 标签来构建结果映射,在 MyBatis-Flex 中提供了自动结果映射功能,这样您就可以只关注于 SQL 语句的构建。) -## 代码示例(Join Query) +## Join Query -这里以用户和角色的 `多对多` 关系作为例子,首先有用户表和角色表,分别对应着用户类和角色类: +Join Query 是用于构建原生 MyBatis 如下的 ``: + +```xml + + + + + + + + + +``` + +以上的 xml 是原生的 MyBatis 示例,在 MyBatis-Flex 我们不需要编写 xml 的 ``,这个过程由 MyBatis-Flex 自动完成, +我们只需要关注 MyBatis-Flex 的 SQL 构建即可。 + +## Join Query 代码示例 + +这里以 **用户** 和 **角色** 的 `多对多` 关系作为例子,用户表和角色表,分别对应着用户类和角色类: ```java @Table("sys_user") public class User { - @Id private Integer userId; private String userName; - } + @Table("sys_role") public class Role { - @Id private Integer roleId; private String roleKey; private String roleName; - } ``` @@ -139,11 +155,9 @@ public class Role { ```java public class UserVO { - private String userId; private String userName; private List roleList; - } ```