Apex基础知识(一)

之前介绍过Sublime,其实Salesforce自带的有一个工具叫Develop Console,不需要安装,可以在上面做开发测试,方便用来学习。

先来一个小栗子:Setup --> Develop Console

File | New 一个Apex Class,输入下面代码;

Debug |Open Execute Anonymous Window,输入代码,点击Execute;

成功插入一条数据到Account。

去前台看,可以看到已经在Account中插入了一条记录。

Apex是Salesforce开的语言,所以学习Apex首先要学习语法了,这是基础。Apex语法个跟Java语法类似。

数据类型

Apex包含了比较常用的的Date、String、Number、Boolean等数据类型,这些就不再说明了。除此之外还有一些特殊的类型,Enums枚举,ID,列表相关的List、Set、Map ,对象类型SObject等。

原始类型的定义:String strVar = 'aaaaa';

                               类型  变量名= 初始值;

List:一个有序的数组,索引从0开始,数组中的类型一致。

List<Account>  addAccounts = new List<Account>();

这个语句就是创建了一个List,类型是Account。

    List的循环语句1(直接给List赋值)

List <String> tea = new List<String>{'Black Tea', 'Green Tea', 'Chai Tea'};

for(String t : tea){ 

         System.debug('We have ' + t);

}

    List循环语句2(利用SOQL从对象中查找数据保存到List)

public class AccountUtility {

    public static void viewAnnualRevenue(){

        list<Account> accountsList = [SELECT Name,AnnualRevenue From Account Limit 5];

        FOR (Account Acc : accountsList){

            String acctRev = AccName +':' + Acc.AnnualRevenue;

            System.debug(accRev);

        }

    }

}

Sets:一个无需的数组,所以没有索引,数组中的类型一致。因为没有索引,循环时会按存入Sets的顺序访问。

Sets中的数值不能重复,add时如果有重复并不会报错,但是不会加入到Sets

Maps:每一个数组值,都是成对出现的,有一个key 和 value。Maps的添加用Put,查找用Get


一个测试的Apex Class来练习循环List:

New Apex Class,输入类名,创建一个method ,定义List类型,循环;

public class ContactUtility {

    public static void viewContacts(){

        List<Contact> listOfContacts = [SELECT FirstName, LastName FROM Contact Limit 2];

        for (Contact con : listOfContacts){

            String fullname = 'First Name: ' + con.FirstName + ', Last Name: ' + con.LastName;

            system.debug(fullname);

        }

    }

}

调用Debug |Open Execute Anonymous Window, 输入语句:ContactUtility.viewCOntacts();  执行即可。


Trigger的使用方法:

https://trailhead.salesforce.com/content/learn/projects/use-apex-to-automate-business-processes/create-and-test-a-trigger

Step1,创建一个Apex类

public class OrderItemUtility {

    public static void addBonusBouquet(){

    //功能

   }

}

Step2,创建一个Trigger,来调用一个Apex类的方法

trigger orderTrigger on Order (before update) {

    OrderItemUtility.addBonusBouquet(trigger.new);

}

吐槽一个,Trailhead学习是很方便,但是真的好~~慢,时间都浪费在打开界面和verify上了。

-End-

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。