BeanListProcessor值对象集合处理器,返回一个ArrayList集合,集合中的每一个元素是一个javaBean,每个javaBean对应结果集合中一行数据,其中每个JavaBean中的数据映射关系和BeanProcess同理。
还有ColumnProcessor ,BeanMappingListProcessor ,BeanMappingProcessor几个类 BeanListProcessor作为结果集的例子:
ArrayList list=(ArrayList) session.executeQuery(sql, param, new BeanListProcessor(TrainReqmatbillVO.class)); // TrainReqmatbillVO是一个普通vo类 int listcount = list.size();
TrainReqmatbillVO[] vos = new TrainReqmatbillVO[listcount]; for (int i = 0; i < vos.length; i++) { vos[i] = (TrainReqmatbillVO)list.get(i); }
3.2.5. 结果集控制
在NC持久层中为了防止执行大查询后返回结果集合过多导致系统内存溢出系统
默认设置了最大返回结果集行数是10万行,如果需要返回更多行数或者不限制返回行数,需要做如下设置:
在SuperDMO中设置返回行数 SuperDMO superDmo=new SuperDMO(); superDmo. setMaxRows(行数); 如果rows= -1表示不限制返回行数 在BaseDAO中设置返回行数 BaseDAO baseDao=new BaseDAO(); BaseDAO. setMaxRows(行数); 如果rows= -1表示不限制返回行数 在ResultsetProcessor中设置返回行数
BaseProcessor processor=new ArrayListProcessor();
Processor. setMaxRows(行数); 在结果集中设置返回行数
CrossDBResultset resultset=( CrossDBResultset)rs; Resultset.setMaxRows(行数);
第二篇 中级篇
经过入门篇的学习,你已经初步了解了NC的环境,使用和技术规范。但是离真正的业务开发还差很远,通过本篇的学习,你将真正进入NC的业务开发,了解NC单据的开发,数据库操作,报表等技术,通过本章的学习,你将可以具备实用的需求业务开发能力。
4. 元数据建模
4.1. 内容概述
本文档主要介绍了如何基于元数据进行业务建模,以及如何在运行时对元数据进行管理。最后列举了元数据的一些典型应用。目的是尽可能地让大家在使用元数据的时候更加方便。关于元数据本身的代码架构,以及元数据的基本概念,请参见《NCV5.5-元数据开发红皮书》。
4.2. 详细介绍
4.2.1. 新建元数据模型
为方便操作,将eclipse设为“NC模型设计器”模式,如下图。
建立元数据模型的流程如下:
关键工作建议完成的工作建立模型文件导出JAVA源代码建立数据实体生成SQL脚本并执行发布元数据 4.2.2. 建立模型文件
? 模型文件概念:
一个模型文件(bmf文件),对应一个元数据模型,对应一个业务组件。
? 本例具体操作:
如下图,在[MDP资源浏览器]中,新建模型文件,输入模型文件名。
4.2.3. 建立数据实体
一个数据实体,可以理解为对应一个数据库表。一张主子表的单据应包含一个主实体、一个子实体。一个bmf文件中,有且仅有一个主实体。
[建立数据实体]总结为4个必要步骤:1建立空实体,2指定实体的properties,3为实体添加属性,4实现业务接口。
4.2.3.1.1. 建立空实体
? 操作简介
如上图,在工具箱中,点击“实体”,然后在左侧画布区域点击,即可建立一个空实体。建立后的实体如下图所示。
? 本例具体操作
本示例需要建立两个实体,如下表 实体 主实体 子实体
对应数据表 采购订单主表 采购订单子表 对应VO 采购订单主VO 采购订单子VO 4.2.3.1.2. 指定数据的properties
? 操作简介