前言:
以数据库导出为excel文件为例子,分析抽象性思维和元数据定义、解析执行的过程。
问题:
系统中比较常见各种excel导出的功能要求,如何开发一个通用的excel导出功能?可以适应各种需求?
探索:
首先需要手动写一个从数据库中导出数据到excel的程序,尽量使用别使用ssh之类。
分析:
数据导出为excel功能,主要分为两个过程:
<!--[if !supportLists]-->(1) <!--[endif]-->按照需求从数据库中获取符合需求的数据集;
<!--[if !supportLists]-->(2) <!--[endif]-->按照要求创建符合需求的excel模板;
<!--[if !supportLists]-->(3) <!--[endif]-->把数据写入excel,并按照一定规则命名excel文件;
思考:
列出几个导出excel的实际例子,按照上面分析的流程再次分析,提取出变化和不变的不同部分,不变的部分作为通用的架构,变化的部分用数据定义清楚。可以看出变化的需要定义的内容是:
<!--[if !supportLists]-->(1) <!--[endif]-->获取数据集的sql语句及要返回的字段列表;
<!--[if !supportLists]-->(2) <!--[endif]-->Excel模板的字段列表;
<!--[if !supportLists]-->(3) <!--[endif]-->数据集字段列表和excel模板的字段列表的字段对应关系;
修改导出程序,使得程序能够根据上面定义的内容执行相应的操作,达到导出excel的目的。上面配置的内容可以放到xml文件、文本文件或者数据库中均可;其实这部分数据既可以称为元数据;
思考重点:
<!--[if !supportLists]-->(1) <!--[endif]-->抽象性思维;
<!--[if !supportLists]-->(2) <!--[endif]-->分析过程,提取出一切不可控的可能会根据需求变化而变化的部分;
<!--[if !supportLists]-->(3) <!--[endif]-->变化的内容就是需要配置定义的内容,也就是元数据,元数据的格式即为元模型;
<!--[if !supportLists]-->(4) <!--[endif]-->修改程序,可以自动解析适应元数据;
<!--[if !supportLists]-->(5) <!--[endif]-->尽量的考虑各种需求,提高定义的元数据的格式的实用性,提高通用程序的适用性;
后续扩展:
<!--[if !supportLists]-->(1) <!--[endif]-->考虑支持多种数据库,数据链接信息需要进行配置定义;
<!--[if !supportLists]-->(2) <!--[endif]-->考虑支持导出excel或文本文件,需要定义导出方式及格式;
<!--[if !supportLists]-->(3) <!--[endif]-->考虑配置数据定义和维护时的方便快捷性,定义配置数据的格式及维护界面;
PS: EEPlat(www.eeplat.com 讨论群: 105867861(验证填写EEPLAT2014))从根本上也是这种思想的产物,只不过EEPlat实现的系统的整体的分析定义和通用解析执行。
相关推荐
Force.com 平台的元数据驱动模型是其强大之处,它通过分析元数据动态生成虚拟应用程序组件,确保了租户的个性化需求和数据安全。 元数据在多租户架构中扮演着至关重要的角色。它是关于数据的数据,描述了系统中的...
### 元数据驱动的微服务架构(上) #### 微服务架构需要元数据 随着企业IT架构的不断发展,从传统的单体应用到面向服务的架构(SOA),再到微服务架构,每一次技术演进都旨在解决更复杂的问题,并提供更高的灵活性...
Linux设备驱动模块设计是嵌入式系统开发中的关键环节,主要负责硬件设备的控制和管理。设备驱动直接与硬件交互,执行特定的操作...通过分析具体的驱动实例,如本文中的蜂鸣器驱动,可以深入理解驱动设计的全貌和细节。
通过阅读普元元数据管理系统V5.0的操作手册,用户将能够掌握如何有效地利用这个工具来提升数据治理能力,优化数据资产管理,从而推动企业的数据驱动战略。手册中的实例和实战指导将使理论知识更具实践意义,使得即使...
INF文件包含了驱动的元数据、安装步骤和注册表信息。使用`pnputil`命令行工具或者设备管理器手动安装INF文件。 4. **加载驱动**:安装后,驱动通常会自动加载。如果需要手动加载,可以使用`devcon`工具或者设备管理...
使用JMI规范API,开发者可以编写元数据驱动的应用,例如构建代码生成器、静态代码分析工具、自动生成文档等。此外,JMI还可以与其他Java标准结合,如JSR 250(Common Annotations for the Java Platform)和JSR 330...
例如,“数字成都”项目就是一个实例,它利用元数据技术实现了城市多源异构数据的集成,提升了公共服务的效率和质量。 6. 智能搜索与推荐:元数据支持高级搜索功能,允许用户根据复杂的查询条件找到所需数据。同时...
实体是元数据的实例,具有唯一标识,包含一组属性。属性是构成实体的基本单位,可能是简单类型,也可能是复杂类型,包含属性名、值类型及属性值。关系表示两个实体间的关联,包括物理和逻辑关系,由关系名和两个端点...
5. **DBeaverData**:这个文件夹可能包含DBEAVER的一些默认数据或配置信息,例如元数据、工作空间设置等。用户通常不需要直接操作这个文件夹,但备份这个文件夹可以保存个人的DBEAVER设置和定制化信息。 6. **...
这个实例可以用来获取各种数据库元数据信息,比如驱动名称、数据库URL、最大行大小等。 - `getDriverName()`返回驱动程序的名称,比如"Oracle JDBC Driver"。 - `getURL()`返回数据库的URL,这通常包括数据库...
### Hive配置(Oracle数据库为元数据) #### 一、概述 Apache Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce ...
3. **装置设计**:详细讲解了实现这种元数据读写方法的硬件或软件装置的架构,可能包括专用的硬件组件、系统接口、驱动程序或应用程序编程接口(API)。 4. **性能优化**:讨论了如何通过缓存策略、内存管理、并行...
**Qt4精彩实例分析** Qt4是一个跨平台的应用程序开发框架,主要应用于桌面和移动设备。它是用C++编写的,提供了丰富的API,使得开发者能够创建具有图形用户界面(GUI)的应用程序。这个压缩包文件包含了一系列的Qt4...
4. **元数据获取**:获取表结构、列信息、索引等数据库元数据。 5. **批处理**:一次提交多个SQL语句,提高性能。 6. **性能优化**:通过设置连接参数,如超时、缓冲大小等,优化查询性能。 总的来说,Impala的JDBC...
例如,文件系统驱动可能会读取文件系统的元数据,而存储驱动则负责实际的数据读取。 #### 七、总结 理解IRP的工作原理及其结构对于Windows驱动程序开发者来说至关重要。IRP不仅简化了驱动程序之间的通信,还支持...
通过分析这个文件,你可以了解到如何在实际项目中使用Java和JDBC来获取Oracle数据库的元数据信息,这对于数据库设计、数据迁移、数据库文档生成等任务非常有用。 总之,Oracle元数据的获取是Java开发者掌握的重要...
7. **vssver.scc**:这是版本控制系统(如Visual SourceSafe)的元数据文件,用于跟踪源代码的版本历史。 8. **sources**:这可能是另一个列出源文件的文本文件,用于构建过程。 通过分析这些文件,我们可以推测这...
此外,buf结构体还包含了一些元数据信息,比如设备地址、缓冲区大小等。 #### 2. dev_ops与cb_ops结构体 `dev_ops` 和 `cb_ops` 结构体用于定义设备的各种操作函数指针,包括但不限于打开、关闭、策略处理等。这些...