一、通用插入操作
/**
*
* 编写一个服务createUomOneDemo,
* 该服务的作用是在表Uom中增加一条记录,其中:
* 字段uomId的值为“BaseLineProduct”、
* 字段abbreviation的值为“BLP”、
* 字段description的值为“基线产品”
* @param dctx
* @param context
* @return
*/
public static Map<String,Object> createUomOneDemo(
DispatchContext dctx, Map<String,Object> context)
{
//取得实体引擎实例
GenericDelegator delegator = dctx.getDelegator();
//创建一条Uom记录的对象
GenericValue oneUom = delegator.makeValue("Uom");
//向其中加入每个字段对应的数据
oneUom.setString("uomId","BaseLineProduct");
oneUom.setString("abbreviation", "BLP");
oneUom.setString("description", "基线产品");
try {
//保存到数据库的Uom表中
oneUom.create();
} catch (GenericEntityException e) {
//则把错误信息以Error级别打印到日志文件中
Debug.logError(e, module);
//把指定的错误码对应的描述信息返回给服务调用者
Return ReturnMapUtil.getErrorMap(
DemoErrorMapping.BASE0001,oneUom.toString());
}
//把表示成功的信息返回给服务调用者
return ReturnMapUtil.getSuccessMap();
}
二、自动产生主键的插入操作
/**
*
* 编写一个服务createUomTwoDemo,
* 该服务的作用是在表Uom中增加一条记录,其中:
* 字段uomId要求自动生成、
* 字段abbreviation的值为“Cashm”,
* 字段description的值为“现金管理系统”
* @param dctx
* @param context
* @return
*/
public static Map<String,Object> createUomTwoDemo(DispatchContext dctx, Map context){
//取得实体引擎实例
GenericDelegator delegator = dctx.getDelegator();
//创建一条Uom记录的对象
GenericValue oneUom = delegator.makeValue("Uom");
//向其中加入每个字段对应的数据
String uomId = delegator.getNextSeqId("Uom"); //该方法用于自动创建一个实体的主键编号, 这里创建了Uom表的主键(uomId)的编号
oneUom.setString("uomId",uomId);
oneUom.setString("abbreviation", "Cashm");
oneUom.setString("description", "现金管理系统");
/**
* 一般通过如下代码添加属性
* Map<String,Object> fields = FastMap.newInstance();
* String uomId = delegator.getNextSeqId("Uom");
* fields.put("uomId",uomId);
* fields.put("abbreviation","Cashm");
* fields.put("description","现金管理系统");
* GenericValue SingleUom = delegator.makeValue("Uom", fields);
* SingleUom.create();
*/
try {
//保存到数据库的Uom表中
oneUom.create();
} catch (GenericEntityException e) {
//则把错误信息以Error级别打印到日志文件中
Debug.logError(e, module);
//把指定的错误码对应的描述信息返回给服务调用者
return ReturnMapUtil.getErrorMap(DemoErrorMapping.BASE0001,oneUom.toString());
}
//把表示成功的信息返回给服务调用者
return ReturnMapUtil.getSuccessMap();
}
}