CN102156640A - 一种数据操作代码生成方法 - Google Patents

一种数据操作代码生成方法 Download PDF

Info

Publication number
CN102156640A
CN102156640A CN2011100974630A CN201110097463A CN102156640A CN 102156640 A CN102156640 A CN 102156640A CN 2011100974630 A CN2011100974630 A CN 2011100974630A CN 201110097463 A CN201110097463 A CN 201110097463A CN 102156640 A CN102156640 A CN 102156640A
Authority
CN
China
Prior art keywords
code
data
definition
metamessage
template
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.)
Pending
Application number
CN2011100974630A
Other languages
English (en)
Inventor
张家重
范友前
祝鹏
李衍珠
孙成通
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Financial Information System Co Ltd
Original Assignee
Shandong Inspur Financial Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Financial Information System Co Ltd filed Critical Shandong Inspur Financial Information System Co Ltd
Priority to CN2011100974630A priority Critical patent/CN102156640A/zh
Publication of CN102156640A publication Critical patent/CN102156640A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种数据操作代码生成方法,是利用模板技术,根据数据库元信息生成数据操作代码,无需配置即可整合到系统中,系统包括代码模板、数据库元信息、元信息过滤器、代码生成器、数据操作代码;代码模板:代码模板提供待生成代码的定义,分成以下两个部分:1)数据对象代码模板,2)数据操作代码模板;其中,1)数据对象代码模板:实现数据库对象元信息在面向对象语言中的定义,至少包括:对象定义、对象属性定义,对象属性读取定义;2)数据操作代码模板:负责所生成代码的内容,通过模板来定制所生成的代码;实现数据操作方法在面向对象语言中的定义,至少包括:数据检索器定义、数据删除定义、数据更新定义、数据主键定义。

Description

一种数据操作代码生成方法
技术领域
本发明设计一种计算机应用技术,具体涉及一种数据操作代码生成方法。
背景技术
对于大多数IT软件应用系统,与数据库交互是不可避免的。通常,首先从数据库检索数据,然后在应用系统中根据业务规则完成数据的处理加工,最后更新数据库。
对于数据操作代码,通常情况下都手工编写代码。由于业务复杂度的提高,数据模型的膨胀,手工编写代码工作量大并且质量难以保证。虽然可以借助于对象关系映射(ORM)工具,如Hibernate,但由于系统层次的增多,会牺牲系统性能;另外,其引入的繁琐配置、新知识,人为增加了使用成本。
针对上述问题,本发明提出一种基于数据库元信息的数据操作代码生成方法,就是在SQL语言、面向对象语言(如JAVA)两种知识的基础上,利用模板技术,根据数据库元信息,实现数据操作代码的生成,零配置即可整合到系统中。
发明内容
本发明的目的是提供一种数据操作代码生成方法。
本发明的目的是按以下方式实现的,是利用模板技术,根据数据库元信息生成数据操作代码,无需配置即可整合到系统中,系统包括代码模板、数据库元信息、元信息过滤器、代码生成器、数据操作代码;
代码模板:代码模板提供待生成代码的定义,分成以下两个部分:1)数据对象代码模板,2)数据操作代码模板;其中,
1)数据对象代码模板:实现数据库对象元信息在面向对象语言中的定义,至少包括:对象定义、对象属性定义,对象属性读取定义;
2)数据操作代码模板:负责所生成代码的内容,通过模板来定制所生成的代码;实现数据操作方法在面向对象语言中的定义,至少包括:数据检索器定义、数据删除定义、数据更新定义、数据主键定义;
数据库元信息:数据库元信息是生成器的数据输入,到少需要以下元信息:表定义、列定义,表定义包括以下元信息:表的名字、表的主键、视图的名字列定义包括以下元信息:列的名字、列的数据类型;当数据模型结构变更时,数据操作代码即可实时生成;
元信息过滤器:完成数据列元信息的过滤,通过消除对冗余列的操作,保证系统性能,为了方便操作元信息,提供了专门的人机界面,在界面中直接通过选择操作,选择那些数据列要过滤,那些数据列需要操作;指定虚拟数据主键;
代码生成器:代码生成器读取每条元信息,根据代码模板定义,生成相应的数据操作代码;
数据操作代码:由SQL语言、面向对象语言组成,无需配置即可集成到原有代码工程中,操作代码生成步骤如下:
1)分析系统环境:数据库类型、业务处理语言
2)根据系统要求,定义数据操作代码模板
3)确认待生成代码所对应的数据库元信息
(1)根据业务需要,过滤掉冗余的数据元信息
(2)根据业务需要,指定虚拟数据主键
4)运行代码生成器,生成数据操作代码
5)部署数据操作代码至项目工程中,完成代码生成。
本发明的优异效果:本发明的代码生成方法,充分利用了现有计算机语言知识,无需引入新的知识点,降低了使用成本。通过本发明的元数据过滤器,根据业务需要可以定制那些列的数据是不需操作的,降低了内存消耗,提升了系统IO性能。使用本发明生成的数据操作代码,代码质量高,降低了业务处理中对SQL语言知识的要求,无需配置即可集成到项目工程中。
附图说明
图1是组件结构示意图;
图2是实施流程图;
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
本发明的一种数据操作代码生成方法,系统包括代码模板、数据库元信息、元信息过滤器、代码生成器、数据操作代码;
代码模板:代码模板提供待生成代码的定义,分成以下两个部分:数据对象代码(POJO)模板、数据操作代码(DAO)模板;其中,数据对象代码模板:实现数据库对象元信息在面向对象语言中的定义,至少包括:对象定义、对象属性定义,对象属性读取定义;数据操作代码模板:实现数据操作方法在面向对象语言中的定义,至少包括:数据检索器定义、数据删除定义、数据更新定义、数据主键(Primary Key)定义;
数据库元信息:数据库元信息是生成器的数据输入,到少需要以下元信息:表定义、列定义。表定义包括以下元信息:表的名字、表的主键(Primary Key)、视图(View)的名字列定义包括以下元信息:列的名字、列的数据类型
元信息过滤器:元信息过滤器完成数据列元信息的过滤,通过消除对冗余列的操作,保证系统性能。为了方便操作元信息,提供了专门的人机界面。在界面中,可以直接通过选择操作,选择那些数据列要过滤,那些数据列需要操作;可以指定虚拟数据主键。
代码生成器:代码生成器读取每条元信息,根据代码模板定义,生成相应的数据操作代码。
数据操作代码:由SQL语言、面向对象语言组成,无需配置即可集成到原有代码工程中;
实施可按下方式展开,具体流程见图2:
1)分析系统环境:数据库类型、业务处理语言
2)根据系统要求,定义数据操作代码模板
3)确认待生成代码所对应的数据库元信息
(1)根据业务需要,过滤掉冗余的数据元信息
(2)根据业务需要,指定虚拟数据主键
4)运行代码生成器,生成数据操作代码
5)部署数据操作代码至项目工程中,完成代码生成。
实施例:
本发明已成功应用于浪潮信用评级平台。系统实施人员通过图形化的元信息操作界面、代码生成器,生成数据操作代码,零配置部署到项目工程中。

Claims (1)

1.一种数据操作代码生成方法,其特征在于,是利用模板技术,根据数据库元信息生成数据操作代码,无需配置即可整合到系统中,系统包括代码模板、数据库元信息、元信息过滤器、代码生成器、数据操作代码;
代码模板:代码模板提供待生成代码的定义,分成以下两个部分:1)数据对象代码模板,2)数据操作代码模板;其中,
1)数据对象代码模板:实现数据库对象元信息在面向对象语言中的定义,至少包括:对象定义、对象属性定义,对象属性读取定义;
2)数据操作代码模板:负责所生成代码的内容,通过模板来定制所生成的代码;实现数据操作方法在面向对象语言中的定义,至少包括:数据检索器定义、数据删除定义、数据更新定义、数据主键定义;
数据库元信息:数据库元信息是生成器的数据输入,到少需要以下元信息:表定义、列定义,表定义包括以下元信息:表的名字、表的主键、视图的名字列定义包括以下元信息:列的名字、列的数据类型;当数据模型结构变更时,数据操作代码即可实时生成;
元信息过滤器:完成数据列元信息的过滤,通过消除对冗余列的操作,保证系统性能,为了方便操作元信息,提供了专门的人机界面,在界面中直接通过选择操作,选择那些数据列要过滤,那些数据列需要操作;指定虚拟数据主键;
代码生成器:代码生成器读取每条元信息,根据代码模板定义,生成相应的数据操作代码;
数据操作代码:由SQL语言、面向对象语言组成,无需配置即可集成到原有代码工程中,操作代码生成步骤如下:
1)分析系统环境:数据库类型、业务处理语言
2)根据系统要求,定义数据操作代码模板
3)确认待生成代码所对应的数据库元信息
(1)根据业务需要,过滤掉冗余的数据元信息
(2)根据业务需要,指定虚拟数据主键
4)运行代码生成器,生成数据操作代码
5)部署数据操作代码至项目工程中,完成代码生成。
CN2011100974630A 2011-04-19 2011-04-19 一种数据操作代码生成方法 Pending CN102156640A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100974630A CN102156640A (zh) 2011-04-19 2011-04-19 一种数据操作代码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100974630A CN102156640A (zh) 2011-04-19 2011-04-19 一种数据操作代码生成方法

Publications (1)

Publication Number Publication Date
CN102156640A true CN102156640A (zh) 2011-08-17

Family

ID=44438148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100974630A Pending CN102156640A (zh) 2011-04-19 2011-04-19 一种数据操作代码生成方法

Country Status (1)

Country Link
CN (1) CN102156640A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663103A (zh) * 2012-04-13 2012-09-12 北京工业大学 可配置的自动化生成数据库和数据访问的方法
CN103473108A (zh) * 2013-08-12 2013-12-25 福建富士通信息软件有限公司 一种Java代码生成方法
CN104317590A (zh) * 2014-10-22 2015-01-28 中国建设银行股份有限公司 嵌入式配置系统及嵌入式配置审核流程的方法
CN105242933A (zh) * 2015-10-22 2016-01-13 浪潮电子信息产业股份有限公司 一种将软件开发方法及装置
CN107273109A (zh) * 2013-02-06 2017-10-20 谷歌公司 对源代码建模的方法和系统以及使用数据模型的方法
CN108073499A (zh) * 2016-11-10 2018-05-25 腾讯科技(深圳)有限公司 应用程序的测试方法及装置
CN109101229A (zh) * 2018-07-26 2018-12-28 郑州云海信息技术有限公司 一种面向对象的代码自动生成方法、装置及设备
CN109492381A (zh) * 2018-09-26 2019-03-19 深圳竹云科技有限公司 一种基于数据库的jaas扩展验证方法
CN109739493A (zh) * 2019-01-18 2019-05-10 宜创(北京)科技有限公司 数据库操作语句的生成方法、装置、电子设备及存储介质
CN113535141A (zh) * 2020-04-16 2021-10-22 浙江大搜车软件技术有限公司 数据库操作代码的生成方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367391A (en) * 2000-04-28 2002-04-03 Ibm Data access code generation
CN101697120A (zh) * 2009-11-05 2010-04-21 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2367391A (en) * 2000-04-28 2002-04-03 Ibm Data access code generation
CN101697120A (zh) * 2009-11-05 2010-04-21 河南辉煌科技股份有限公司 基于关系型数据库的j2ee代码生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冉春娟等: "基于关系数据模型代码生成器的设计与实现", 《湖北大学学报(自然科学版)》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663103B (zh) * 2012-04-13 2015-03-04 北京工业大学 可配置的自动化生成数据库和数据访问的方法
CN102663103A (zh) * 2012-04-13 2012-09-12 北京工业大学 可配置的自动化生成数据库和数据访问的方法
CN107273109B (zh) * 2013-02-06 2020-11-10 谷歌有限责任公司 对源代码建模的方法和系统以及使用数据模型的方法
CN107273109A (zh) * 2013-02-06 2017-10-20 谷歌公司 对源代码建模的方法和系统以及使用数据模型的方法
CN103473108A (zh) * 2013-08-12 2013-12-25 福建富士通信息软件有限公司 一种Java代码生成方法
CN104317590A (zh) * 2014-10-22 2015-01-28 中国建设银行股份有限公司 嵌入式配置系统及嵌入式配置审核流程的方法
CN105242933A (zh) * 2015-10-22 2016-01-13 浪潮电子信息产业股份有限公司 一种将软件开发方法及装置
CN108073499A (zh) * 2016-11-10 2018-05-25 腾讯科技(深圳)有限公司 应用程序的测试方法及装置
CN108073499B (zh) * 2016-11-10 2020-09-29 腾讯科技(深圳)有限公司 应用程序的测试方法及装置
CN109101229A (zh) * 2018-07-26 2018-12-28 郑州云海信息技术有限公司 一种面向对象的代码自动生成方法、装置及设备
CN109492381A (zh) * 2018-09-26 2019-03-19 深圳竹云科技有限公司 一种基于数据库的jaas扩展验证方法
CN109739493A (zh) * 2019-01-18 2019-05-10 宜创(北京)科技有限公司 数据库操作语句的生成方法、装置、电子设备及存储介质
CN113535141A (zh) * 2020-04-16 2021-10-22 浙江大搜车软件技术有限公司 数据库操作代码的生成方法及装置

Similar Documents

Publication Publication Date Title
CN102156640A (zh) 一种数据操作代码生成方法
CN101697120B (zh) 基于关系型数据库的j2ee代码生成方法
CN102722372B (zh) 一种通过分类配置自动生成代码的方法及系统
CN102663103B (zh) 可配置的自动化生成数据库和数据访问的方法
CN101794226B (zh) 一种适应多业务抽象层次的服务化软件构造方法和系统
CN102810057B (zh) 一种记录日志的方法
CN102508669A (zh) 一种程序代码自动生成方法
CN103093000A (zh) 数据库查询建模系统和数据库查询建模方法
CN103903086A (zh) 一种基于业务模型驱动的管理信息系统开发方法及系统
CN101477462A (zh) 一种用于动态改变系统行为的模型驱动软件开发方法
CN104331285A (zh) 一种代码自动生成方法及系统
CN104063495A (zh) 表单扩展方法与表单扩展装置
CN103019726A (zh) 软件系统业务规则的管理方法和装置
CN102902767A (zh) 一种表格快速搭建的方法及系统
CN106873974A (zh) 智能代码生成引擎系统及方法
CN103093038A (zh) 一种物料清单的更新方法及装置
CN102393889A (zh) 一种权限配置管理系统
CN103186632A (zh) 一种运维表单定制的方法及装置
CN101714078A (zh) 代码生成方法及装置
CN104978411A (zh) 一种高速列车的车型开发方法和装置
CN105653255A (zh) 一种在office框架中设置报告模板以自动生成报告文件的方法
CN102932416B (zh) 一种信息流任务的中间数据存储方法、处理方法及装置
CN102215264B (zh) 一种支持多租户数据与服务定制运行的方法和装置
CN102243677B (zh) 基于SysML驱动的产品详细设计模型自动生成方法
CN101604286B (zh) 一种关键字驱动表格生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110817