本章在比较复杂的场景中实现了对关联表的查询和新增操作,涉及的知识点比较多,这里做一个简单的小结,带大家回顾一下:
1. 数据集
数据集是多个数据实体的一个集合,具体的表现形式就是多个实体类型定义在一个.xsd文件中。这个.xsd文件就被称作数据集。
2. 数据实体
EOS6中,数据实体就是指通过XSD来定义的SDO的数据对象(commonj.sdo.DataObject)。一个实体会有类型,类型会包含一些属性,每个属性又都有自己的类型。这就类似于一个Java Class的定义。每个Class都有自己的属性,每个属性也会有相应的Class。在EOS中,数据实体包括持久化实体和非持久化实体两类。在数据集中导入的数据实体同数据库表之间建立了MAP映射关系,就是一个可以持久化的数据实体。
3. 业务字典
某些字段数据是采用编码的方式保存,EOS产品提供了一套业务字典管理功能,通过业务字典提供的一组TAG,就可以完成代码数据的录入和显示。
4. QueryForm
QueryForm控件是一个用来输入查询条件的表单,作为一个代码片断,以<h:form></h:form>形式嵌入在JSP页面中。表单提交时,根据控件生成时设置的逻辑,可以对指定数据集进行有条件查询,同时可以根据表单中提交的分页信息,对查询结果实现分页功能。控件的设置主要包括以下内容:
表单的显示属性,包括标题、名称、宽度、每行显示字段数等。
查询的数据实体、数据实体名称、查询条件、排序字段等。
表单提交对应的逻辑流。
分页信息,包括结果集长度、是否统计总行数、是否允许重复等。
5. ViewList
ViewList控件用于显示查询结果,作为一个代码片断,以<h:form></h:form>形式嵌入在JSP页面中,ViewList以一个表格的形式显示数据,如果页面流中包含了分页信息,控件就可以实现分页功能,同时通过自己实现增删改等功能对数据进行维护。控件的设置主要包括以下内容:
表单的显示属性,包括标题、名称、宽度等。
显示的数据实体以及实体字段设置。
在表格中选择每一行时的相关设置,包括行选择方式等。
其他设置,包括是否生成一些基本事件函数、数据提交的xpath等。
6. 事务
在逻辑流中,可以使用三个图元来控制事务的开始、提交和回滚(在逻辑流编辑器右边的选用板可以见到这三个图元)。
事务开始图元相当于开启一个新的事务,事务开始图元后面必须有一个事物提交或 者事务回滚图元。
事务提交图元相当于将当前的事务提交,事务提交图元前面必须有一个匹配的事务开始图元。
事务回滚图元相当于将当前的事务回滚,事务回滚图元前面必须有一个匹配的事务开始图元。 一个事务从“事务开始”图元开始,遇到“事务提交”图元时,该事务向数据库提交;遇到“事务回滚”图元,则将该事务回滚。
逻辑流中的事务图元不能嵌套,即在“事务开始”图元之后和“事务提交”或者“事务回滚”之前,不能再有其他的“事务开始”图元。
7. 循环
循环提供了类似Java中的for循环和while循环的功能。提供了遍历集合和按条件循环的功能。遍历集合可以是数组类型或者是java.util.List
类型;按条件循环支持简单表达式、Java表达式两种形式。在循环图元的内部可以添加任何的业务图元,只要符合循环条件,循环体内的图元将会被执行。
循环图元有循环开始和循环结束图元两个共同组成,两者必须成对出现。