/** * 功能:取得demo信息列表 * @param request * @param response * @return */ public static String getDemoList(HttpServletRequest request,HttpServletResponse response) { //取得数据源对象 //GenericDelegator delegator = (GenericDelegator) request.getAttribute("default"); GenericDelegator delegator = GenericDelegator.getGenericDelegator("default"); List returnList=null; try { //取得所有数据 returnList=delegator.findAll("Demo");//select * from demo delegator.findByAnd("Demo", UtilMisc.toMap("demoId", "1","demoName","a")); //select * from demo where domo_id='1' and demo_name='a' delegator.findByOr("Demo", UtilMisc.toMap("demoId", "1","demoName","a")); delegator.findByPrimaryKey("Demo",UtilMisc.toMap("demoId","1")); } catch (GenericEntityException ex) { Debug.log(ex); request.setAttribute("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex,"查询失败!"); request.setAttribute(SiteDefs.ERROR_MESSAGE, strExInfo); return "error"; } //将数据放入缓存中,在页面可以拿到 request.setAttribute("returnList", returnList); //根据返回值确定在那一个页面展示,起页面导向的作用 return "success"; } public static String getDemoYanShi(HttpServletRequest request,HttpServletResponse response) { //取得数据源对象 //GenericDelegator delegator = (GenericDelegator) request.getAttribute("default"); GenericDelegator delegator = GenericDelegator.getGenericDelegator("default"); List returnList=null; try { //取得所有数据 returnList=delegator.findAll("Demo"); delegator.findByAnd("Demo", UtilMisc.toMap("demoId", "1","demoName","a")); delegator.findByOr("Demo", UtilMisc.toMap("demoId", "1","demoName","a")); } catch (GenericEntityException ex) { Debug.log(ex); request.setAttribute("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex,"查询失败!"); request.setAttribute(SiteDefs.ERROR_MESSAGE, strExInfo); return "error"; } //将数据放入缓存中,在页面可以拿到 request.setAttribute("returnList", returnList); //根据返回值确定在那一个页面展示,起页面导向的作用 String type="suce"; if(type=="shixisheng") return "shixisheng"; else return "success"; } /** * 功能:取得demo信息列表 (服务方式) * 参数:ctx,context * 返回值:Map */ public static Map getDemoServiceList(DispatchContext ctx, Map context){ //获取实体引擎数据连接 GenericDelegator delegator = ctx.getDelegator(); //当前用户登录信息 GenericValue userLogin = (GenericValue) context.get("userLogin"); //LocalDispatcher对象 LocalDispatcher dispatcher = (LocalDispatcher)ctx.getDispatcher(); //Map map = dispatcher.runSync("getDemoServiceList", paramMap); String areaId = (String)context.get("areaId"); //定义返回值集合 Map result = new HashMap(); //定义返回参数 List returnList = null; //定义排序List List orderByList = new ArrayList(); //String areaId = userLogin.getString("areaId"); orderByList.add("demoId desc"); EntityCondition condition; List constraints = new LinkedList(); try { //select demoId,demoname,sex from demo where id='' or name='' order by demoId desc EntityExpr eexprAreaId = new EntityExpr("demoId", EntityOperator.NOT_EQUAL, null);//demo_id!=null EntityExpr eexprName = new EntityExpr("demoName", EntityOperator.EQUALS, "aaa");//demo_name='aaa' constraints.add(eexprAreaId); constraints.add(eexprName); condition = new EntityConditionList(constraints, EntityOperator.AND);//demo_id!=null and demo_name='aaa' Collection fieldsToSelect = new ArrayList(); fieldsToSelect.add("demoId"); fieldsToSelect.add("demoName"); returnList = delegator.findByCondition("Demo", condition, fieldsToSelect, orderByList); /* EntityExpr type1 = new EntityExpr("type1", EntityOperator.NOT_EQUAL, "1");type1!=1 EntityExpr type2 = new EntityExpr("type2", EntityOperator.EQUALS, "2");type2=2 EntityExpr type4 = new EntityExpr(type1,EntityOperator.AND,type2);type1!=1 and type2=2 EntityExpr type3 = new EntityExpr("type3", EntityOperator.EQUALS, "3"); type3=3 constraints.add(type3); constraints.add(type4); condition = new EntityConditionList(constraints, EntityOperator.OR); type3=3 or (type1!=1 and type2=2) (type1="1" and type2="2") or (type3="3") */ } catch (Exception ex) { Debug.log(ex); result.put("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex, "查询失败!"); result.put(SiteDefs.ERROR_MESSAGE, strExInfo); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR); return result; } result.put("returnList", returnList); result.put("success", "success"); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_SUCCESS); return result; } /** * 功能:根据角色取得demo信息列表 * @param request * @param response * @return */ public static String getDemoByRoleList(HttpServletRequest request,HttpServletResponse response) { //取得数据源对象 GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); //当前用户登录信息 GenericValue userLogin = (GenericValue)request.getSession().getAttribute(SiteDefs.USER_LOGIN); // 权限对象 Security security = (Security) request.getAttribute(" security "); // LocalDispatcher对象 LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher"); List returnList=null; try { if(security.hasRole("accessory_admin", userLogin)){ //取得所有数据 //调用服务方式:(服务名,传入参数) Map paramMap = new HashMap(); Map map = dispatcher.runSync("getDemoServiceList", paramMap); returnList = (List)map.get("returnList"); }else{ //其他的处理 } } catch (GenericServiceException ex) { Debug.log(ex); request.setAttribute("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex,"查询失败!"); request.setAttribute(SiteDefs.ERROR_MESSAGE, strExInfo); return "error"; } //将数据放入缓存中,在页面可以拿到 request.setAttribute("returnList", returnList); //根据返回值确定在那一个页面展示,起页面导向的作用 return "success"; } /** * 功能:新增Demo信息 * @param request * @param response * @return */ public static String addSaveDemo(HttpServletRequest request, HttpServletResponse response) { GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); //request.getParameter(arg0) Map context = UtilHttp.getParameterMap(request); String demoIdStr=""; GenericValue demoGV=null; try { demoIdStr = delegator.getNextSeqId("Demo").toString(); demoGV = delegator.makeValue("Demo",UtilMisc.toMap("demoId",demoIdStr)); /* 要求表单的id名称和数据字段的名称一致,才能使用下面的写法 * indicatrixGV.setNonPKFields(context); * */ //新增记录 demoGV.setNonPKFields(context); //多条数据一起放入 //一条数据一条的放入 //demoGV.setString("demoName", request.getParameter("demoName")); //demoGV.setString("sex", request.getParameter("sex")); demoGV.create(); } catch (GenericEntityException ex) { Debug.log(ex); request.setAttribute("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex,"新增失败!"); request.setAttribute(SiteDefs.ERROR_MESSAGE, strExInfo); return "error"; } return "success"; } /** * 功能:修改Demo信息 * @param request * @param response * @return */ public static String updateDemo(HttpServletRequest request,HttpServletResponse response) { GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); Security security = (Security)request.getAttribute("security"); GenericValue userLogin = (GenericValue)request.getSession().getAttribute(SiteDefs.USER_LOGIN); Map context = UtilHttp.getParameterMap(request); //表单参数 String demoId=request.getParameter("demoId"); String demoName=request.getParameter("demoName"); GenericValue demoGV=null; try { demoGV = delegator.findByPrimaryKey("Demo", UtilMisc.toMap("demoId", demoId)); demoGV.setNonPKFields(context); demoGV.store(); } catch (GenericEntityException ex) { Debug.log(ex); request.setAttribute("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex,"新增失败!"); request.setAttribute(SiteDefs.ERROR_MESSAGE, strExInfo); return "error"; } return "success"; } /** * 功能:删除Demo信息 * @param request * @param response * @return */ public static String delDemo(HttpServletRequest request,HttpServletResponse response) { GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); //可以删除多条数据 String demoIdsStr=request.getParameter("demoIds").toString(); String[] demoIdArray=demoIdsStr.split(","); String demoIdStr = ""; try { for (int i = 0; i < demoIdArray.length; i++) { demoIdStr=demoIdArray[i].toString(); //删除数据 delegator.removeByAnd("Demo", UtilMisc.toMap("demoId",demoIdStr)); } } catch (GenericEntityException ex) { Debug.log(ex); request.setAttribute("myException", ex); String strExInfo = ExceptionUtil.getStackTraceInfo(ex,"删除失败!"); request.setAttribute(SiteDefs.ERROR_MESSAGE, strExInfo); return "error"; } return "success"; } public static String hello(String str){ return str; }
相关推荐
在Ofbiz中,Event Handler、Service和Entity Engine是其核心组件,它们分别负责事件处理、业务逻辑和服务数据操作。这些组件的设计高度灵活,允许开发者通过XML配置文件来定义和管理业务流程,极大地减少了编写Java...
- `use-transaction`: 开启一个新的数据库事务,确保一系列操作作为一个单元执行。如果其中任何一步失败,整个事务将被回滚。 - `check-permission`: 检查当前用户是否具有执行特定操作的权限。如果没有,可以阻止...
总之,"Ofbiz数据库全模型"是一个宝贵的资源,对于学习、开发和维护Ofbiz应用的人来说,它提供了对系统数据结构的全面了解,有助于提升工作效率并确保项目的稳定性和扩展性。无论是初学者还是经验丰富的Ofbiz开发者...
此外,BIRT还提供了一个独立运行的Rich Client Platform (RCP) Designer应用程序,该应用程序安装在客户端机器上,并远程连接到OFBiz数据库。 #### 教程范围 本教程将详细介绍如何在Windows机器上设置BIRT RCP ...
Ofbiz的服务机制允许开发者定义业务逻辑,这些服务可以是数据库操作、外部系统交互或者其他复杂的业务流程。在`component-load.xml`中,你可以找到服务的定义,包括服务的输入输出参数、执行模式(同步或异步)、...
**OFBiz 技术文档** OFBiz,全称为Open For Business Project,是一个...通过深入研究这些文档,开发者可以掌握OFBiz的基本操作,理解其设计原则,从而在实际项目中高效地运用OFBiz来构建高效、稳定的企业信息系统。
这个“ofbiz-practice”项目为初学者提供了一个动手操作的平台,通过实际操作,他们可以深入理解OFBiz的工作原理,从而逐步掌握这个强大的企业级应用框架。同时,这样的实践也有助于提升开发者在Web应用开发中的问题...
此外,学习如何使用OFBiz的数据库工具,如Entity Manager,来操作实体和数据,也是提升开发效率的关键。 在实际开发过程中,理解OFBiz的数据模型至关重要。OFBiz使用EJB 3.0的持久化模型,即实体Bean(Entity Bean...
在本文中,我们将详细介绍如何在Windows 7操作系统上安装OFBiz企业应用框架,并配置PostgreSQL作为其数据库。OFBiz是一个开源的企业级应用平台,而PostgreSQL是一个强大的对象关系型数据库管理系统,它们共同为企业...
- `check-on-start`、`add-missing-on-start`和`check-pks-on-start`:控制Ofbiz在启动时对数据库的检查和处理。 - `use-foreign-keys`和`join-style`:设置外键使用和JOIN语句的风格。 - `drop-fk-use-foreign-key-...
在OFBiz中,CRUD操作涉及到数据库实体的创建、读取、更新和删除。同时,你需要学习编写服务,这通常是通过XML定义的服务事件和服务调用来实现的。这部分教程将引导你完成这些基本操作。 **6. ECA(事件-条件-动作)...
对于CRUD操作,OFBiz提供了一套完善的API和服务,可以方便地对实体进行增删改查。例如,使用EntityEngine API的`EntityQuery`和`EntityEJBQLQuery`类进行查询,`EntityCreate`、`EntityUpdate`和`EntityDelete`进行...
- **数据库操作**:熟练使用SQL语言,理解关系型数据库的基本原理。 - **XML和XSLT**:OFBiz的配置文件和数据交换通常涉及XML,而XSLT用于转换XML文档。 - **版本控制工具**:如Git,用于版本管理和协作开发。 - **...
- 在处理数据库操作时,确保遵循最佳实践,如事务管理,以确保数据的一致性和完整性。 - 当调整OFBiz配置时,记得备份重要文件,以防止意外情况。 - 测试每个步骤,确保所有更改都能正常工作,特别是在数据库连接和...
本文详细介绍了 Ofbiz 的安装与配置过程,包括环境搭建、Eclipse 参数及插件设置、Ofbiz 项目结构、使用 Eclipse 打开 Ofbiz 的 Ant 命令、Ofbiz 数据库(MySQL)安装及配置等内容。希望本文能够帮助初学者快速上手 ...
通过上述章节的学习,读者不仅能够掌握 OFBiz 的基本安装和配置过程,还能够了解如何根据业务需求对 OFBiz 进行定制化开发。此外,还学习了如何管理数据、优化用户界面以及实现自动化流程等功能。这些知识对于构建...