快速上手:Apex

Apex 是 Salesforce 的原生编程语言,用于编写声明式工具无法实现的自定义业务逻辑。本快速上手项目将带你走完第一个完整的 Apex 开发循环:在开发者控制台中创建 Apex 类、添加方法、用 SOQL 查询与 DML 更新客户记录,再通过 Execute Anonymous 执行代码,最后在界面上验证结果。无需外部工具,从零开始写出你的第一段真实可运行的 Apex 代码。...

📅 2026/10/8 ✍️ ponybai 🏷️ salesforce, headless

创建 Apex 类(01 Create an Apex Class)

slide_2
slide_3

本单元介绍 Apex 这一 Salesforce 的编程语言,并通过开发者控制台(Developer Console)创建你的第一个 Apex 类。

学习目标 — 完成本单元后,你将能够:

  • 在开发者控制台中创建 Apex 类
  • 理解 Apex 类的基本结构

简介(Introduction)

slide_4

Apex 是一种强类型、面向对象的编程语言,让开发者能够在 Salesforce 平台上执行流程和事务控制语句。如果你熟悉 Java 或 .NET 开发,你会发现用 Apex 编程相当直接;如果你从未写过代码,你也可能会惊讶于用 Apex 访问和操作数据竟如此简单。

Apex 是 Salesforce 的原生编程语言——当你需要超出声明式工具能力范围的自定义业务逻辑时,就要用到它。Apex 能做的事包括:

  • 自动化复杂的业务流程
  • 以编程方式操作数据
  • 与外部系统集成
  • 创建自定义 API

在这个 Quick Start 中,你将使用开发者控制台(Developer Console)——一个内置于每个 Salesforce 组织中的 IDE,无需 VS Code、无需 CLI、无需复杂设置。你将创建一个真实的 Apex 类来更新旧的 Account(客户)记录,执行它,并验证结果。这是你迈入 Salesforce 程序化开发的第一步。

创建 Apex 类(Create an Apex Class)

slide_5

开发者控制台是你在 Salesforce 中编写和测试代码的地方。第一步是创建 Apex 类:

  1. 登录 Trailhead,点击本页底部的 Launch 启动你的 Trailhead Playground。
  2. 点击右上角的设置齿轮(setup gear),选择 Developer Console(开发者控制台)。
  3. 从 File(文件) 菜单选择 New | Apex Class(新建 | Apex 类)。
  4. 类名输入 OlderAccountsUtility,点击 OK。

此时编辑器里的代码是一个空的类外壳,Apex 类的"解剖结构"如下:

public class OlderAccountsUtility {
    // 方法写在这里
}

关键元素:

  • public / private——访问修饰符(谁能使用这个类)
  • class——定义一个新类的关键字
  • OlderAccountsUtility——你的类名(使用 PascalCase 大驼峰命名)
  • { }——类体,包含所有方法

类是承载你代码的容器。现在它还只是个空容器,接下来我们要向其中添加一个真正干活的方法。

向类中添加方法(02 Add a Method to the Class)

slide_6

本单元向类中添加一个方法——也就是真正执行更新 Account 记录工作的功能代码。

创建方法(Create a Method)

slide_7

一个类通常包含一个或多个做有用事情的方法(method)。在这一步,你将创建 updateOlderAccounts 方法,它获取按创建日期排序的前五条 Account 记录,然后把描述字段更新为 "Heritage Account"(即比其他客户更"古老"的客户)。

在 OlderAccountsUtility 类的类体(两个花括号之间的内容)中,复制粘贴以下方法:

public static void updateOlderAccounts() {
    // 获取 5 条最旧的客户记录
    Account[] oldAccounts = [SELECT Id, Description FROM Account ORDER BY CreatedDate ASC LIMIT 5];
    // 遍历它们并更新 Description 字段
    for (Account acct : oldAccounts) {
        acct.Description = 'Heritage Account';
    }
    // 保存你做的修改
    update oldAccounts;
}

点击 File | Save 保存。

这段代码先按创建日期对 Account 排序,然后抓取五条最旧的记录。它使用 SOQL 查询语言(第 3 行)来做查询和排序,然后遍历每条 Account 记录更新 Description 字段,最后用 Apex 的数据操作语言(DML) 更新这些记录。如果你熟悉 Java 和 C#,会发现语法上有不少相似之处。

方法解剖:

  • public——可在类外访问
  • static——无需创建实例即可调用
  • void——不返回值
  • updateOlderAccounts——方法名(camelCase 小驼峰命名)
  • ( )——参数列表(为空表示无输入)
  • { }——方法体(真正的逻辑)

这个"查询 → 遍历 → 修改 → 更新"的简单模式,正是绝大多数 Apex 自动化代码的基础。

调用并测试代码(03 Invoke and Test the Code)

slide_8

本单元使用"执行匿名(Execute Anonymous)"运行代码,并确认它能正确执行。

运行代码(Run the Code)

slide_9

匿名块(anonymous block) 是不会被存储的 Apex 代码,但可以直接从开发者控制台按需编译和执行——这是测试你的 Apex 类或运行示例代码的好办法。

  1. 在开发者控制台中,选择 Debug | Open Execute Anonymous Window(调试 | 打开执行匿名窗口)。
  2. 在 Enter Apex Code 窗口中输入:OlderAccountsUtility.updateOlderAccounts();
  3. 点击右下角的 Execute(执行)。

执行匿名让你无需构建完整应用就能立即运行 Apex 代码,非常适合测试和一次性操作。执行后,调试日志(Debug Log) 会显示:

  • 执行了哪些 SOQL 查询
  • 执行了哪些 DML 操作
  • 是否有任何错误或异常
  • 执行时间与消耗的调控限制(governor limits)

如果日志显示成功、没有异常,就说明你的代码正确运行了。不过真正的证明在数据里——下一步,让我们去检查实际的 Account 记录。

验证更新后的客户(04 Verify the Updated Accounts)

slide_10

本单元验证你的代码确实更新了 Account 记录,并总结所学内容。

检查更新后的字段(Check the Updated Field)

slide_11

现在来确认你执行的代码做出了你想要的修改。找一个较旧的 Account,检查 Description 字段是否被更新了。

  1. 在 Trailhead Playground 中,点击 App Launcher(应用启动器),在"所有应用"下选择 Sales。
  2. 点击 Accounts 选项卡。
  3. 点击 Recently Viewed(最近查看) 显示视图列表,然后选择 All Accounts(所有客户)。
  4. 点击 齿轮图标,选择 Select Fields to Display(选择要显示的字段)。把 Last Modified Date(最后修改日期) 移到"可见字段"列,点击 Save。
  5. 点击五条最近修改的 Account 记录之一(用 Last Modified Date 来定位)。
  6. 点击 Details(详细信息)。
  7. 查找 Description 字段,其值应为:Heritage Account。

如果你看到了更新后的描述,就说明:SOQL 查询成功检索到了记录 → for 循环处理了每条 Account → DML 更新把修改持久化了——你的 Apex 代码端到端跑通了!Description 字段就是你的代码运行过的证明。

如果没生效,可以排查:检查调试日志中的错误;确认类已保存且没有语法错误;确认你执行的方法名拼写正确。

总结(Summary)

slide_12

恭喜!你创建了第一个 Apex 类——它包含检索 Account 记录的代码,以及遍历 Account 记录列表并更新 Description 字段的逻辑。正如你所见,用 Apex 操作记录和数据非常容易。

你刚刚完成了第一个完整的 Apex 开发循环:

  1. 创建了 Apex 类(代码的容器)
  2. 添加了方法(功能性逻辑)
  3. 执行了代码(通过 Execute Anonymous)
  4. 验证了结果(检查 Account 的 Description 字段)

你学到的东西包括:

  • Apex 类结构:public class Name { }
  • SOQL 查询:[SELECT ... FROM Object]
  • 用 for 循环处理集合
  • 用 DML 操作(update)持久化修改
  • 用 Execute Anonymous 做测试
  • 用 Debug Log 做排错

这与生产环境 Apex 使用的是同一种模式:查询数据 → 处理数据 → 更新记录。接下来,你可以进一步探索 Apex 触发器(trigger)、测试类(test class),以及更复杂的业务逻辑。欢迎来到 Salesforce 程序化开发的世界!


文章来源:Trailhead - Quick Start: Apex