之前介绍过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 addAccounts = new List();
这个语句就是创建了一个List,类型是Account。
List的循环语句1(直接给List赋值)
List tea = new List{'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 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 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的使用方法:
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-