我们在做Web开发的时候经常会涉及到从表单提取数值,保存到数据库的操作。这个操作最直接的做法就是直接从表单读取数据,直接存储。做过OO设计的都知道这样不利用日后维护,而且在代码重用上也没什么建树,代码量大,在性能上也难以提高。
通常我们会采取建立表单对象(Form Object),值对象(ValueObject)和持久化对象(Persistence Object)的做法,将页面值存储在FO中,通过VO将FO中想要保存到数据库中的格式化数据传到PO中,最后通过持久化工具将PO存储。简单来说就是一个如下的过程:
引用
FO——(格式化)——VO——(提取,组装)——PO——DB
因为通常页面上的数据是不能直接存储的,所以,需要一个格式化的过程,将页面的数据转化成数据库中对应的数据类型,这个过程涉及类型转换,字符串拼接,字段定义(特殊字段特殊含义)等等。由于数据库范式的要求,从页面上来的数据可能同时对应着多张表,比如:一个Person信息FO同时包含了Person信息的PO,关联信息Relationships,Address等PO;有的时候直接便是以主子表的形式出现。这种情况下我们便需要对FO进行重组,以生成对应数据库表的PO然后才能存储。
存储的时候按照上面的过程便可以得到比较好的解决,但在页面展示的时候,如果按照上面的反过程,那么我们首先面临的便是经常性的多次查询和表连接,因为我们在做PO对象组装时每个PO对象便意味着一次查询。
在页面展示的时候,我比较倾向于创建视图和函数,实现查询过程化。一方面提高的数据查询的效率,一方面简化了DB层的代码,还有利于系统和数据库的维护。
在创建视图和函数时候,我们可以针对日常使用比较频繁,对数据库消耗比较大,如表连接,多次查询,子查询等情况。在创建函数和视图时尽量提高其综合利用度,这有利于降低数据库开销,和维护难度。但提高综合利用度不应当以过分的牺牲性能为前提。
分享到:
相关推荐
通过表单对象获取文本对象 java script脚本语言编写 html网页
2. **表单验证**:在客户端进行表单验证时,可以利用JSON对象快速访问各个字段的值。 3. **数据存储**:在本地存储表单数据时,JSON格式的数据更加方便处理和存储。 4. **前后端交互**:在前后端分离的项目中,将...
在Struts1.2中处理表单提交,特别是当表单数据包含列表对象时,需要理解一些核心概念和技术。这篇博客文章可能详细探讨了如何在Struts1.2中处理这类情况。 首先,让我们来了解Struts1.2中的表单提交流程。当用户在...
在网页设计中,表单和表单对象是不可或缺的元素,它们主要用于收集用户输入的数据,以便与服务器进行交互。在本文中,我们将深入探讨如何在网页中插入表单和表单对象,以及它们的主要功能。 首先,要插入表单,我们...
前端通过JavaScript将整个表单(可能包含多选框的值)转换为JSON,后端同样使用Jackson进行反序列化。然而,这种方法对前端技术要求较高,且可能需要处理JSON格式错误的问题。 每种方法都有其适用场景,开发者可以...
总之,Emit实现从URL或者表单中创建对象是一种实用的开发策略,它结合了URL和表单数据的解析、对象实例化以及动态事件处理。在实际项目中,这种方法可以提高代码的灵活性和效率,特别是在需要处理多种数据源和创建...
然而,在某些特定情况下,比如使用微软的COM+扩展时,ObjectContext对象可以用来提供事务管理和对象持久化。它不是一个基础对象,但在高级开发中可能会被用到。 3. Request对象:Request对象是ASP获取客户端发送...
### 表单及表单元素:深入理解与实践 #### 一、表单的重要性与功能 表单在Web开发中占据着举足轻重的地位,它作为用户与网站交互的关键环节,承载着诸如用户注册、文章发布、评论提交等重要功能。通过表单,用户...
在JSP中,request对象是默认存在的,可以直接使用不需要创建或实例化。 二、request对象的主要方法 request对象提供了多种方法来访问和处理HTTP请求信息,常用的方法有: * getParameter(String name):获取指定...
每个对象都有默认属性值,用户可以根据需要修改这些值或添加新的属性。 6. **方法(Method)**:方法是对象可以执行的操作,是包含在对象内部的代码。用户可以通过调用方法来改变对象的状态或执行特定任务。 7. **...
然后使用`.each()`方法遍历所有具有`property`类的表单元素,将每个元素的`name`属性作为键,`value`属性作为值,存入`propertyMap`对象。最后,使用`JSON.stringify()`方法将这个对象转换为一个字符串,并通过`...
在处理多选的表单元素(如复选框数组)时,可以通过循环来获取所有选中的值。可以使用Request.Form("hobby").Count来获取选中项的数量,然后通过for循环或者For Each迭代器遍历每个值。 了解和熟练掌握Request对象...
总结来说,VFP的表单和面向对象的程序设计结合,使得开发者能够构建灵活、模块化的用户界面,同时通过类和对象的使用,实现了高效、可扩展的代码组织。这种设计方法对于构建复杂的数据库应用程序尤其重要,因为它...
在表单数据封装过程中,这些方法会被用来设置和获取属性值。 4. **前端框架集成**: 当前,许多Web应用采用前端框架(如Angular、React或Vue.js)进行视图层的构建。这些框架同样支持数据绑定,可以与后端的...
例如,当用户提交表单后,可以通过判断表单值来决定重定向的页面: ```vbscript If Request.Form("select") <> "" Then Response.Redirect(Request.Form("select")) End If ``` - `Response.Buffer`:这是一个...
"面向对象程序设计表单" 面向对象程序设计是软件设计的一种方法,它强调对象之间的交互和继承关系。面向对象程序设计的基本概念是对象、类和继承关系。 1. 对象(Object) 对象是面向对象程序设计的基本单位,...
标题:“浅谈jQuery的应用” 知识点: 1. jQuery简介:jQuery是一个继prototype之后的优秀JavaScript框架,由John Resig创建于2006年初。它简化了JavaScript以及Ajax编程,以“write less, do more”为宗旨,用更...
例如,Web表单、Win窗口、菜单等都是常见的对象类型。这些类定义了对象的基本属性、方法和事件。属性描述对象的状态,如按钮的文本或窗口的位置;方法是可执行的动作,如点击按钮;事件则是在特定条件满足时发生的...
- 在实际应用中,确保JSON对象的键和值都是允许在URL中编码的字符,避免出现编码错误。 - 考虑到兼容性问题,确保所有目标浏览器都支持jQuery库,或者使用原生JavaScript方法进行替代。 总结,通过jQuery我们可以...
本文探讨了 Ajax 获取表单值向 Servlet 传递的设计方案,包括了 XMLHttpRequest 对象的获取、GET 和 POST 方式的异步发送数据、回调函数的使用等内容,为开发者提供了一个实用的解决方案。 知识点: 1. Ajax 技术...