From 8d57a0105bd55009faa1f209efcf8272634dc333 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Sat, 1 Jul 2023 00:06:08 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E5=AE=8C=E5=96=84=20As=20=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3=E7=9A=84=E4=BD=BF=E7=94=A8=E6=96=87=E6=A1=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/zh/core/as.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/zh/core/as.md b/docs/zh/core/as.md index f3f18f18..f0fc9b3f 100644 --- a/docs/zh/core/as.md +++ b/docs/zh/core/as.md @@ -76,3 +76,39 @@ class UserMapperTest { } ``` + +## 与 `@Column` 的区别 + +`@As` 注解设置的别名 **只对** 查询有效。 + +`@Column` 注解设置的 `value` 是确切的列名,不仅对查询有效,而且对插入、更新都有效。 + +## 其他功能 + +用于拓展 `` 映射,自定义列别名映射,例如: + +```java +public class Entity { + + @As("role_id") + @As("user_id") + private String id; + +} +``` + +这样 `SELECT` 查询的时候,只要用 `AS` 指定 `role_id`、`user_id` 别名,都会映射到 `id` 属性上。 + +```java +QueryWrapper qw1=QueryWrapper.create() + .select(USER.ID.as("user_id")) + .from(USER); + + Entity e1=userMapper.selectOneByQueryAs(qw1,Entity.class); + + QueryWrapper qw2=QueryWrapper.create() + .select(ROLE.ID.as("role_id")) + .from(ROLE); + + Entity e2=roleMapper.selectOneByQueryAs(qw2,Entity.class); +```