zoukankan      html  css  js  c++  java
  • Ofbiz项目学习——阶段性小结——插入数据

    一、通用插入操作

    /**
    	 * 
    	 * 编写一个服务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();
    	}
    }
    

      二、自动产生主键的插入操作(二)

    // 委托引擎
    Delegator delegator = dctx.getDelegator();
    // 获取GenericValue
    GenericValue genericValue = delegator.makeValue("实体映射表名称");
    // 获取自增主键
    genericValue.setNextSeqId();
    // 设置非主键字段 Map<? extends Object, ? extends Object> fields
    genericValue.setNonPKFields(fields);
    // 还有一些需要单独处理
    genericValue.set(key, value, true);
    // 创建一条记录
    GenericValue oneRecord = delegator.create(genericValue);
    // 如果需要获取主键id
    Object id = oneRecord.get("id");
    

      

  • 相关阅读:
    deepin15.7挂载/home到单独的分区:
    Docker配置整理
    Docker安装方法整理
    在ArangoDB中实现connectedcomponents算法
    Blazor入手教程(十一)使用组件库AntDesign Blazor
    Blazor入手教程(十)部署安装
    Blazor入手教程(九)c#和js互相调用
    Blazor入手教程(八)布局Layout
    Blazor入手教程(七)表单
    Blazor入手教程(六)组件的生命周期
  • 原文地址:https://www.cnblogs.com/gzhcsu/p/11203198.html
Copyright © 2011-2022 走看看