CN109582286A - 基于Freemarker技术的数据规范性校验方法及其装置 - Google Patents
基于Freemarker技术的数据规范性校验方法及其装置 Download PDFInfo
- Publication number
- CN109582286A CN109582286A CN201810726817.5A CN201810726817A CN109582286A CN 109582286 A CN109582286 A CN 109582286A CN 201810726817 A CN201810726817 A CN 201810726817A CN 109582286 A CN109582286 A CN 109582286A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- data model
- freemarker
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明为一种基于Freemarker技术的数据规范性校验方法及其装置,方法包括以下步骤:步骤1:管理人员根据需求配置数据模型的数据获取数据规则,并且按照需求和数据模型配置字符串模板;步骤2:用户提交归档数据时,需创建数据模型,并在数据模型中加入用户提交的归档数据;步骤3:按照数据规则获取数据并加入数据模型,将字符串模板和数据模型在FreeMarker模板引擎中执行并得到执行结果。装置包括字符串模板生成模块、用户数据模型生成模块和FreeMarker模板引擎执行模块。本发明优点为:减少项目成本,快速实现所需功能。功能实现周期短,参与人员少;一次开发在绝大多项目都能通用,使其开发成本进一步降低。
Description
技术领域
本发明涉及一种基于Freemarker技术的数据规范性校验方法及其装置。
背景技术
随着信息技术的快速发展,数据不仅在数量上巨增,结构上也变成更加复 杂多样。当前数据管理,大多是增、删、改、查,对于数据的正确性检查是由 开发人员按照客户需要定制开发,超出的内容由操作人员查看审核。在项目开 发过程中,通常实现这些功能至少要经过几个基本过程:需求分析,产品经理 与客户沟通了解客户需求;功能设计,产品经理按照需求设计功能实现方式, 画软件原型等;功能开发,开发人员按照软件原型实现功能;软件测试,测试 人中按照产品经理的功能需求测试开发出来的程序,出现错误还要反馈给开发 人员继续修改,然后再次测试;软件实施,经过几轮测试没发现问题了,再由 运维人员到客户那里安装部署或者更新软件。
现有项目开发方式的过程中,每个项目的各步骤内容相近,参与者几乎都 是重复工作,可是对于企业而言都是成本的支出。而且功能实现流程复杂,周 期长等。
发明内容
本发明的目的在于提供一种基于Freemarker技术的数据规范性校验方法及 其装置,本发明基于Freemarker技术实现动态模板管理,并通过配置数据获取 规则来创建数据模型,最终根据Freemarker处理的执行结果判断成功或者失败。
本发明的目的通过如下技术方案实现:一种基于Freemarker技术的数据规 范性校验方法,它包括以下步骤:
步骤1:管理人员根据需求在系统管理的后台表单页面配置数据模型的数据 获取数据规则,并且按照需求和数据模型配置字符串模板;
步骤2:用户提交归档数据操作时需进行归档检查操作,检查时创建数据模 型,并在数据模型中加入用户提交的归档数据;
步骤3:按照数据规则获取数据并加入数据模型,将字符串模板和数据模型 在FreeMarker模板引擎中执行并得到执行结果,执行结果等于字符串“true” 则检查通过,否则检查不通过并且将执行结果作为错误信息提示。
一种基于Freemarker技术的数据规范性校验装置:它包括以下模块:
字符串模板生成模块:管理人员根据需求在数据模型的数据获取数据规则, 并且按照需求和数据模型配置字符串模板;
用户数据模型生成模块:用户提交归档数据操作时需进行归档检查操作, 检查时创建数据模型;其中数据模型中加入有用户提交的归档数据;
FreeMarker模板引擎执行模块:分别与字符串模板生成模块和用户数据模 型生成模块连接,按照数据规则获取数据并加入数据模型,将字符串模板和数 据模型在FreeMarker模板引擎中执行并得到执行结果。
较之现有技术而言,本发明的优点在于:本功能的开发极大的减少项目成 本,原本一个团队去完成的工作,在FreeMarker引擎之下可由一个售后人员全 部完成甚至让客户自己完成,并且能够快速得实现所需功能。功能实现周期短, 参与人员少,并且一次开发在绝大多项目都能通用,相比当前的实现方式而言, 本发明的开发成本要远低于现有技术。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合说明书附图和实施例对本发明内容进行详细说明:
如图1所示为本发明提供的一种基于Freemarker技术的数据规范性校验方 法的实施例示意图,
它包括以下步骤:
步骤1:管理人员根据需求在系统管理的后台表单页面配置数据模型的数据 获取数据规则,并且按照需求和数据模型配置字符串模板;
步骤2:用户提交归档数据操作时需进行归档检查操作,检查时创建数据模 型,并在数据模型中加入用户提交的归档数据;
步骤3:按照数据规则获取数据并加入数据模型,将字符串模板和数据模型 在FreeMarker模板引擎中执行并得到执行结果,执行结果等于字符串“true” 则检查通过,否则检查不通过并且将执行结果作为错误信息提示。
如图1-2所示:步骤1的具体流程如下:
流程1:选择数据归档规则。
流程2:添加数据表检查条件,检查条件的数据结构包含但不限于:ID、标 题/检查条件名称、字符串模板,以上数据结构均为字符串。
流程3:添加模板执行所需要的数据模型的数据获取数据规则,并且按照需 求和数据模型配置字符串模板,所述数据规则是从数据库中查询数据并创建。
流程3的数据规则的创建过程如下:
过程A:选择数据表(from子句);
过程B:页面根据所选数据表自动加载数据表的信息,所述信息包括表字段 名称、注释、类型;
过程C:选择查询结果类型(select子句):查询数量,查询记录;其中查 询数量最终系统执行时返回一个数字到数据模型中,查询记录系统时返回一个 List<Map<String,Object>>类型的对象到数据模型中;
过程D:添加至少一个查询条件(where子句),每个条件包括:字段、比 较关系、比较值,其中比较值使用FreeMarker表达式;
图2中对“收文登记簿”创建检查条件“发文登记表”要有数据,并且是 年份字段和档号字段相等。数据获取规则定义了从“发文登记表”查询记录, 条件是年份和当前操作的档案年份相等。检查条件中模板执行功能是检查查询 到的数据是否是1条记录,并且记录的档号和当前操作的档号相等,条件成立 则执行结果为“true”,否则执行结果是“发文表缺少数据”。
流程4:保存表单设置,点击提交时先进行数据整理。
流程4中数据整理的具体过程如下:
过程A:将每个数据获取数据规则整理成一个对象列表;
过程B:每个数据获取数据规则的查询条件也整理成对象列表,并转换成json 数组字符串,然后将字符串放在数据获取规则对象的filter属性中;
过程C:将数据获取的数据规则对象列表转换成json数组字符串保存在表 单的querys字段,最终提交表单数据。
流程5:后台接收、解析并保存。
流程5的具体过程如下:
过程A:表单数据接收由检查条件对象接收;
过程B:解析querys字符串为数据获取规则对象列表;
过程C:遍历数据获取规则对象列表将filter字符串解析为查询条件对象列 表;
过程D:将查询条件对象列表再次解析为sql语句的where子句;
过程E:将where子句替换数据获取规则的filter字段内容;
过程F:事务操作保存检查条件和数据获取规则对象列表。
步骤2的具体流程如下:
流程1:创建空的数据模型;
流程2:将提交的归档数据放入数据模型的键src上;
流程3:查询数据获取规则,并生成完整sql语句;
流程4:将sql语句和数据模型在FreeMarker模板引擎中执行,替换数据 获取规则条件里的条件值,得到最终执行的sql语句;
流程5:执行最终sql语句,并返回结果,数量或列表集;
流程6:将sql的执行结果加入数据模型中,第一个加入的是data0,第二 个是data1,以此类推;
流程7:将数据模型与下一条数据获取规则的sql语句在FreeMarker模板 引擎中执行,并重复流程4、5、6;由于每次在FreeMarker模板引擎里执行的 是用是同一个数据模型,所以第一条获取规则的条件值只能使用提交的归档数 据(src),后面的获取规则的条件值可以使用设置在前面的获取规则的结果。
步骤3的具体流程如下:
流程1:按照数据规则获取所有数据后,数据也已经增加到了数据模型,将 数据模型和字符串模板在FreeMarker模板引擎中执行,得到检查结果;
流程2:检查结果等于“true”则检查通过,否则检查不通过,并且检查结 果就是检查不通过的原因说明。
如图3所示,进行批量归档时,遇到检查不通过的记录,中止归档。页面 提示了归档中止消息。
如图4所示,在归档内容的详情页面顶部显示了所有归档条件的检查结果, 绿色的是检查通过的条件,红色部分是检查不通过的,并且提示了错误信息。
上述方法通过以下装置实现:一种基于FreeMarker技术的数据规范性校验 装置,它包括以下模块:
字符串模板生成模块:管理人员根据需求在系统管理的后台表单页面配置 数据模型的数据获取数据规则,并且按照需求和数据模型配置字符串模板;
用户数据模型生成模块:用户提交归档数据操作时需进行归档检查操作, 检查时创建数据模型;其中数据模型中加入有用户提交的归档数据;
FreeMarker模板引擎执行模块:分别与字符串模板生成模块和用户数据模 型生成模块连接,按照数据规则获取数据并加入数据模型,将字符串模板和数 据模型在FreeMarker模板引擎中执行并得到执行结果。
Claims (8)
1.一种基于FreeMarker技术的数据规范性校验方法,其特征在于:它包括以下步骤:
步骤1:管理人员根据需求在系统管理的后台表单页面配置数据模型的数据获取数据规则,并且按照需求和数据模型配置字符串模板;
步骤2:用户提交归档数据操作时需进行归档检查操作,检查时创建数据模型,并在数据模型中加入用户提交的归档数据;
步骤3:按照数据规则获取数据并加入数据模型,将字符串模板和数据模型在FreeMarker模板引擎中执行并得到执行结果,执行结果等于字符串“true”则检查通过,否则检查不通过并且将执行结果作为错误信息提示。
2.根据权利要求1所述一种基于FreeMarker技术的数据规范性校验方法,其特征在于:步骤1的具体流程如下:
流程1:选择数据归档规则;
流程2:添加数据表检查条件,检查条件的数据结构包含但不限于:ID、标题/检查条件名称、字符串模板,以上数据结构均为字符串;
流程3:添加字符串模板执行所需要的数据模型的数据获取数据规则,所述数据规则是从数据库中查询数据并创建;
流程4:保存表单设置,点击提交时先进行数据整理;
流程5:后台接收、解析并且保存。
3.根据权利要求2所述一种基于FreeMarker技术的数据规范性校验方法,其特征在于:
流程3的数据规则的创建过程如下:
过程A:选择数据表;
过程B:页面根据所选数据表自动加载数据表的信息,所述信息包括表字段名称、注释、类型;
过程C:选择查询结果类型(select子句):查询数量,查询记录;其中查询数量最终系统执行时返回一个数字到数据模型中,查询记录系统时返回一个List<Map<String,Object>>类型的对象到数据模型中;
过程D:添加至少一个查询条件(where子句),每个条件包括:字段、比较关系、比较值,其中比较值使用FreeMarker表达式。
4.根据权利要求2所述一种基于FreeMarker技术的数据规范性校验方法,其特征在于:流程4中数据整理的具体过程如下:
过程A:将每个数据获取数据规则整理成一个对象列表;
过程B:每个数据获取数据规则的查询条件也整理成对象列表,并转换成json数组字符串,然后将字符串放在数据获取规则对象的filter属性中;
过程C:将数据获取的数据规则对象列表转换成json数组字符串保存在表单的querys字段,最终提交表单数据。
5.根据权利要求2所述一种基于FreeMarker技术的数据规范性校验方法,其特征在于:
流程5的具体过程如下:
过程A:表单数据接收由检查条件对象接收;
过程B:解析querys字符串为数据获取规则对象列表;
过程C:遍历数据获取规则对象列表将filter字符串解析为查询条件对象列表;
过程D:将查询条件对象列表再次解析为sql语句的where子句;
过程E:将where子句替换数据获取规则的filter字段内容;
过程F:事务操作保存检查条件和数据获取规则对象列表。
6.根据权利要求1所述一种基于FreeMarker技术的数据规范性校验方法,其特征在于:
步骤2:的具体流程如下:
流程1:创建空的数据模型;
流程2:将提交的归档数据放入数据模型的键src上;
流程3:查询数据获取规则,并生成完整sql语句;
流程4:将sql语句和数据模型在FreeMarker模板引擎中执行,替换数据获取规则条件里的条件值,得到最终执行的sql语句;
流程5:执行最终sql语句,并返回结果,数量或列表集;
流程6:将sql的执行结果加入数据模型中,第一个加入的是data0,第二个是data1,以此类推;
流程7:将数据模型与下一条数据获取规则的sql语句在FreeMarker模板引擎中执行,并重复流程4、5、6;由于每次在FreeMarker模板引擎里执行的是用是同一个数据模型,所以第一条获取规则的条件值只能使用提交的归档数据(src),后面的获取规则的条件值可以使用设置在前面的获取规则的结果。
7.根据权利要求1所述一种基于FreeMarker技术的数据规范性校验方法,其特征在于:步骤3的具体流程如下:
流程1:按照数据规则获取所有数据后,数据也已经增加到了数据模型,将数据模型和字符串模板在FreeMarker模板引擎中执行,得到检查结果;
流程2:检查结果等于“true”则检查通过,否则检查不通过,并且检查结果就是检查不通过的原因说明。
8.一种基于FreeMarker技术的数据规范性校验装置,其特征在于:
它包括以下模块:
字符串模板生成模块:管理人员根据需求在数据模型的数据获取数据规则,并且按照需求和数据模型配置字符串模板;
用户数据模型生成模块:用户提交归档数据操作时需进行归档检查操作,检查时创建数据模型;其中数据模型中加入有用户提交的归档数据;
FreeMarker模板引擎执行模块:分别与字符串模板生成模块和用户数据模型生成模块连接,按照数据规则获取数据并加入数据模型,将字符串模板和数据模型在FreeMarker模板引擎中执行并得到执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810726817.5A CN109582286B (zh) | 2018-07-04 | 2018-07-04 | 基于Freemarker技术的数据规范性校验方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810726817.5A CN109582286B (zh) | 2018-07-04 | 2018-07-04 | 基于Freemarker技术的数据规范性校验方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582286A true CN109582286A (zh) | 2019-04-05 |
CN109582286B CN109582286B (zh) | 2021-11-26 |
Family
ID=65919565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810726817.5A Active CN109582286B (zh) | 2018-07-04 | 2018-07-04 | 基于Freemarker技术的数据规范性校验方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582286B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651148A (zh) * | 2020-06-09 | 2020-09-11 | 北京思特奇信息技术股份有限公司 | 一种Stream SQL的动态生成方法及系统 |
CN112579047A (zh) * | 2020-12-15 | 2021-03-30 | 安徽兆尹信息科技股份有限公司 | 模型配置方法以及存储介质 |
CN113126981A (zh) * | 2019-12-31 | 2021-07-16 | 贵州医渡云技术有限公司 | 一种基于Excel的医疗数据处理方法及装置 |
CN113760969A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种基于ElasticSearch的数据查询方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050188323A1 (en) * | 2004-02-20 | 2005-08-25 | Nec Corporation | Template creation apparatus and creation method |
EP1644849A1 (en) * | 2003-07-11 | 2006-04-12 | Computer Associates Think, Inc. | System and method for generating sql using templates |
CN105005683A (zh) * | 2015-06-17 | 2015-10-28 | 北京锐易特软件技术有限公司 | 一种解决区域医疗系统数据规范化问题的缓存系统及方法 |
CN105404620A (zh) * | 2015-11-20 | 2016-03-16 | 华为技术有限公司 | 一种表单校验的方法和装置 |
CN106355303A (zh) * | 2016-08-15 | 2017-01-25 | 上海新炬网络技术有限公司 | 一种数据模型自动化评审系统 |
CN107329849A (zh) * | 2017-07-06 | 2017-11-07 | 北京理工大学 | 一种基于Java系统的数据校验方法及系统 |
CN108052550A (zh) * | 2017-11-28 | 2018-05-18 | 平安养老保险股份有限公司 | 年金数据接收方法、装置、计算机设备和存储介质 |
-
2018
- 2018-07-04 CN CN201810726817.5A patent/CN109582286B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1644849A1 (en) * | 2003-07-11 | 2006-04-12 | Computer Associates Think, Inc. | System and method for generating sql using templates |
US20050188323A1 (en) * | 2004-02-20 | 2005-08-25 | Nec Corporation | Template creation apparatus and creation method |
CN105005683A (zh) * | 2015-06-17 | 2015-10-28 | 北京锐易特软件技术有限公司 | 一种解决区域医疗系统数据规范化问题的缓存系统及方法 |
CN105404620A (zh) * | 2015-11-20 | 2016-03-16 | 华为技术有限公司 | 一种表单校验的方法和装置 |
CN106355303A (zh) * | 2016-08-15 | 2017-01-25 | 上海新炬网络技术有限公司 | 一种数据模型自动化评审系统 |
CN107329849A (zh) * | 2017-07-06 | 2017-11-07 | 北京理工大学 | 一种基于Java系统的数据校验方法及系统 |
CN108052550A (zh) * | 2017-11-28 | 2018-05-18 | 平安养老保险股份有限公司 | 年金数据接收方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
ƂUƏDNXIƏʍ: "FreeMarker开发-数据模型", 《HTTPS://WWW.CNBLOGS.COM/WEIXUPENG/P/8710220.HTML》 * |
MANUAL: "Template + data-model = output", 《HTTPS://FREEMARKER.APACHE.ORG/DOCS/DGUI_QUICKSTART_BASICS.HTML》 * |
OSNOT: "struts2 开发集锦", 《HTTPS://BLOG.CSDN.NET/OSNOT/ARTICLE/DETAILS/6238294》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126981A (zh) * | 2019-12-31 | 2021-07-16 | 贵州医渡云技术有限公司 | 一种基于Excel的医疗数据处理方法及装置 |
CN113126981B (zh) * | 2019-12-31 | 2023-10-03 | 北京懿医云科技有限公司 | 一种基于Excel的医疗数据处理方法及装置 |
CN111651148A (zh) * | 2020-06-09 | 2020-09-11 | 北京思特奇信息技术股份有限公司 | 一种Stream SQL的动态生成方法及系统 |
CN112579047A (zh) * | 2020-12-15 | 2021-03-30 | 安徽兆尹信息科技股份有限公司 | 模型配置方法以及存储介质 |
CN113760969A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种基于ElasticSearch的数据查询方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109582286B (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582286A (zh) | 基于Freemarker技术的数据规范性校验方法及其装置 | |
US8615526B2 (en) | Markup language based query and file generation | |
CN109558575B (zh) | 在线表格编辑方法、装置、计算机设备及存储介质 | |
WO2020233330A1 (zh) | 批量测试方法、装置及计算机可读存储介质 | |
US9037549B2 (en) | System and method for testing data at a data warehouse | |
CN110347644B (zh) | 一种无纸化检验检测系统及其操作方法 | |
US5918191A (en) | System and method for managing data for an equipment calibration laboratory | |
US8386419B2 (en) | Data extraction and testing method and system | |
US7725501B1 (en) | System and method for rapid database application deployment and use | |
AU2007323689B2 (en) | Creating data in a data store using a dynamic ontology | |
US10013336B2 (en) | Information technology testing and testing data management | |
CN104991975B (zh) | 电力业务系统的数据查询方法及其系统 | |
US20060282429A1 (en) | Tolerant and extensible discovery of relationships in data using structural information and data analysis | |
US8543535B2 (en) | Generation of star schemas from snowflake schemas containing a large number of dimensions | |
CN106104472A (zh) | 指定逻辑验证规则并将逻辑验证规则应用于数据 | |
CN110427188B (zh) | 单测断言程序的配置方法、装置、设备及存储介质 | |
US7831614B2 (en) | System and method for generating SQL using templates | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
CN107506383B (zh) | 一种审计数据处理方法和计算机设备 | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
CN108572945A (zh) | 创建报表的方法、系统、存储介质、及电子设备 | |
CN111124892B (zh) | 基于命令行的自动化测试方法及系统 | |
CN112131131A (zh) | 一种预构造域名及请求体的接口自动化测试框架系统 | |
CN113255310A (zh) | 一种医学检验lims系统中检验报告可视化配置方法 | |
CN111427787B (zh) | 一种异构数据库业务数据同步测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |