CN107273425B - 一种基于orm框架的数据库开发方法及装置 - Google Patents

一种基于orm框架的数据库开发方法及装置 Download PDF

Info

Publication number
CN107273425B
CN107273425B CN201710351241.4A CN201710351241A CN107273425B CN 107273425 B CN107273425 B CN 107273425B CN 201710351241 A CN201710351241 A CN 201710351241A CN 107273425 B CN107273425 B CN 107273425B
Authority
CN
China
Prior art keywords
database
template file
database table
type
orm
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.)
Active
Application number
CN201710351241.4A
Other languages
English (en)
Other versions
CN107273425A (zh
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.)
Routon Electronic Co ltd
Wuhan Precision Business Machine Co ltd
Original Assignee
Routon Electronic Co ltd
Wuhan Precision Business Machine 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 Routon Electronic Co ltd, Wuhan Precision Business Machine Co ltd filed Critical Routon Electronic Co ltd
Priority to CN201710351241.4A priority Critical patent/CN107273425B/zh
Publication of CN107273425A publication Critical patent/CN107273425A/zh
Application granted granted Critical
Publication of CN107273425B publication Critical patent/CN107273425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Abstract

本发明提供一种基于ORM框架的数据库开发方法及装置。所述方法包括S1,基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;S2,在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;S3,利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。本发明利用自动生成数据库程序代码可以快速实现数据库的开发,可以节约开发人员的工作量,大大提高了开发效率。

Description

一种基于ORM框架的数据库开发方法及装置
技术领域
本发明涉及软件开发领域,更具体地,涉及一种基于ORM框架的数据库开发方法及装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。
SQLite是遵守ACID的关系型数据库管理系统,它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口。
目前,很多android应用也需要用到sqlite数据库来存储数据。一般来说,开发者必须自己创建数据库,然后创建数据库表、表索引和增/删/改/查数据等操作。并且如果需要继续进行多个数据库表之间的一对多关联,则需要更多的增/删/改/查操作,就必须自己写很多sql语句,还需要做Java变量到数据库记录之间的相互转换等等,大大增加了编码的复杂度。
因此,需要一种更简单高效的android应用中的数据库的开发方法。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的基于ORM框架的数据库开发方法及装置。
根据本发明的一个方面,提供一种基于ORM框架的数据库开发方法,包括:
S1,基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;
所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;
S2,在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;
S3,利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
进一步,所述S1还包括:
在所述指定程序工程中添加第三类模板文件和至少一个第四类模板文件;
所述第三类模板文件,用于提供对数据库表中的记录进行增加、删除、修改和查询操作的模板;
所述第四类模板文件,用于以所述第三类模板文件为基模板,对单个数据库表中的记录进行增加、删除、修改和查询操作。
进一步,所述S1还包括:
基于ORM框架的模板文件dao.ftl,在所述dao.ftl中添加属性数组,所述属性数组用于关联数据库表的任意字段对应的属性;
基于ORM框架的模板文件entity.ftl,在所述entity.ftl中添加属性设置方法,所述属性设置方法用于设置数据库表的字段的属性。
进一步,所述S2进一步包括:
S2.1,在所述应用程序工程中引用所述指定程序工程,基于所述第一类模板文件创建并初始化根模型类的对象;
S2.2,基于每个所述第二类模板文件的数据库表的字段,一一对应构造数据库表实体对象;
S2.3,将所述数据库表实体对象添加到所述根模型类的对象;
S2.4,利用所述ORM框架为所述根模型类的对象自动生成数据库程序代码。
进一步,所述S2.3还包括:
基于所述数据库表实体对象,利用所述ORM框架的公共接口建立不同的数据库表之间的关联。
进一步,所述S3还包括:
对于任意数据库表,基于所述数据库表实体对象的插入功能向所述数据库表插入一条新记录,基于所述数据库表实体对象的删除功能删除所述数据库表的一条记录,所述数据库表实体对象的更新功能向更新所述数据库表中原有的记录。
进一步,所述S3还包括:
利用数据库查询生成器QueryBuuilder构造查询对象,用于对任意数据库表进行查询。
根据本发明的一个方面,还提供一种基于ORM框架的数据库开发装置,包括:
模板添加模块,用于基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;
自动生成模块,用于在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;以及
数据库生成模块,用于利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
根据本发明的一个方面,还提供一种基于ORM框架的数据库开发设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明所述一种基于ORM框架的数据库开发方法。
根据本发明的一个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本发明所述一种基于ORM框架的数据库开发方法。
本发明提出本发明所述一种基于ORM框架的数据库开发方法及装置,在ORM框架的基础上,根据需要新增了数据库模板文件及扩展了原ORM框架的模板文件,利用ORM框架自动生成数据库程序代码;利用自动生成数据库程序代码可以快速实现数据库的开发,可以节约开发人员的工作量,大大提高了开发效率。
附图说明
图1为本发明实施例一种基于ORM框架的数据库开发方法流程示意图;
图2为本发明实施例ORM框架自动生成代码流程示意图;
图3为本发明实施例一种基于ORM框架的数据库开发设备的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
ORM方法论基于三个核心原则:
简单性:以最基本的形式建模数据。
传达性:数据库结构被任何人都能理解的语言文档化。
精确性:基于数据模型创建正确标准化了的结构。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。O/R中字母O起源于“对象”(Object),而R则来自于“关系”(Relational)。几乎所有的程序里面,都存在对象和关系数据库。在业务逻辑层和用户界面层中,我们是面向对象的。当对象信息发生变化的时候,我们需要把对象的信息保存在关系数据库中。
如果在android系统中能使用类似对象-关系映射的方法构建SQLite数据,将会大大简化android应用开发中对于sqlite数据库的操作,而让开发人员只需要关注功能本身。因此本发明提供一种android系统的基于ORM框架的数据库开发方法及装置。本发明将通过以下实施例来描述ORM框架之GreenDao在android上的应用和扩展,其能根据需要扩展自动生成代码模板,自动生成SQLite数据库增删改查代码,用Java对象来代表数据库中的一行,让数据库操作更加方便。
如图1所示,一种基于ORM框架的数据库开发方法,包括:
S1,基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;
所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;
S2,在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;
S3,利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
本实施例在ORM框架的基础上,根据需要新增了数据库模板文件及扩展了原ORM框架的模板文件,利用ORM框架自动生成数据库程序代码;利用自动生成数据库程序代码可以快速实现数据库的开发,可以节约开发人员的工作量,大大提高了开发效率。
其中,所述第一类模板文件整体上创建数据库;所述第二类模板文件是对单个数据库的初始化及删除操作,一个数据库表对应一个所述第二类模板文件,多个数据库表对应多个所述第二类模板文件。
所述指定程序工程为包含ORM框架的模板文件的一个程序工程。
如图2所示为本实施例android系统的基于ORM框架自动生成代码流程,包括扩展模板、java中自动生成代码、android中自动生成代码、编译ORM框架GreenDao核心库和使用GreenDao核心库进行应用等。在扩展模板步骤中,本实施例具体新增了第一类模板文件和第二类模板文件,分别用于数据库的创建和初始化;通过新增模板,大大简化了android应用开发中对于sqlite数据库的操作,而让开发人员只需要关注功能本身。
在具体实施时,所述指定程序工程为DaoGenerator,新增的所述第二类模板文件包括entity.ftl和EntityDao.ftl,所述entity.ftl和EntityDao.ftl属于所述指定程序工程为DaoGenerator的文件。
所述entity.ftl文件一个示例如下:
Figure BDA0001297853010000071
Figure BDA0001297853010000081
所述EntityDao.ftl文件一个示例如下:
Figure BDA0001297853010000082
在一个实施例中,所述S1还包括:
在所述指定程序工程中添加第三类模板文件和至少一个第四类模板文件;
所述第三类模板文件,用于提供对数据库表中的记录进行增加、删除、修改和查询操作的模板;
所述第四类模板文件,用于以所述第三类模板文件为基模板,对单个数据库表中的记录进行增加、删除、修改和查询操作。
本实施例中,所述S1在新增数据库创建和初始化模板文件的基础上,还进一步添加了对数据库表进行增加、删除、修改和查询操作的模板;其中所述第三类模板文件为基模板文件,所述第四类模板文件是在基模板文件上派生的单个数据库表的增加、删除、修改和查询操作的模板。一个数据库表对应一个所述第三类模板文件,多个数据库表对应多个所述第三类模板文件。
在一个实施例中,所述S1还包括:
基于ORM框架的模板文件dao.ftl,在所述dao.ftl中添加属性数组,所述属性数组用于关联数据库表的任意字段对应的属性;
基于ORM框架的模板文件entity.ftl,在所述entity.ftl中添加属性设置方法,所述属性设置方法用于设置数据库表的字段的属性。
本实施例中,所述S1在上述实施例的基础,进一步对ORM框架自带的模板文件dao.ftl和entity.ftl进行扩展;增加属性数组,在所述属性数组中可以列出一个数据库表的所有字段对应的属性;通过在entity.ftl中添加属性设置方法,用于设置数据库表的字段的属性,这样可以方便的进行数据库表的字段属性的设置。
在具体实施时,对所述dao.ftl的扩展的一个示例如下:
Figure BDA0001297853010000091
Figure BDA0001297853010000101
在具体实施时,对所述entity.ftl的扩展的一个示例如下:
Figure BDA0001297853010000102
在一个实施例中,所述S2进一步包括:
S2.1,在所述应用程序工程中引用所述指定程序工程,基于所述第一类模板文件创建并初始化根模型类的对象;
S2.2,基于每个所述第二类模板文件的数据库表的字段,一一对应构造数据库表实体对象;
S2.3,将所述数据库表实体对象添加到所述根模型类的对象;
S2.4,利用所述ORM框架为所述根模型类的对象自动生成数据库程序代码。
在一个实施例中,所述S2.3还包括:
基于所述数据库表实体对象,利用所述ORM框架的公共接口建立不同的数据库表之间的关联。
在一个具体实现中,通过GreenDao的DaoExampleGenerator工程为应用程序自动生成代码,具体步骤包括:
在应用工程DaoExampleGenerator中引用前述实施例的关键库DaoGenerator。DaoGenerator库的作用就是提供一套自动生成代码的接口函数。
创建并初始化一个Schema对象。Schema对象就是一个根模型类,用户可以添加若干个实体对象Entity到这个根模型类,所述实体对象Entity是指数据库表实体对象。
根据每个数据库表的字段,构造所述数据库表的实体对象Entity。
还可以创建不同表之间的一对多的关联关系。
把每个数据库表的实体对象添加到Schema对象。
调用DaoGenerator.generateAll()函数就可以为这个Schema对象自动生成代码。
一个具体的代码示例如下:
Figure BDA0001297853010000111
Figure BDA0001297853010000121
Figure BDA0001297853010000131
接下来,编译GreenDao的核心库DaoCore,得到daocore.jar。DaoCore不需要做改动,直接编译后即可使用。有了以上自动生成的代码,在android应用代码中,使用sqlite就变得相当容易了。
下面以一个名为iDRFaceGuard的应用工程为例介绍如何使用GreenDao。
创建数据库:dbMan.init(mApp,mDb_name,mDb_key)。
查询表:构造一个QueryBuilder<Tb_face_info>face_infoQuerBuilder,直接调face_infoQuerBuilder.list(),返回的是Tb_face_info列表List<Tb_face_info>。
插入一条记录:准备好Tb_face_info对象face_info,再调用face_infoEntityDao.insertEntity(face_info)即可。
Figure BDA0001297853010000132
Figure BDA0001297853010000141
Figure BDA0001297853010000151
Figure BDA0001297853010000161
在一个实施例中,所述S3还包括:
对于任意数据库表,基于所述数据库表实体对象的插入功能向所述数据库表插入一条新记录,基于所述数据库表实体对象的删除功能删除所述数据库表的一条记录,所述数据库表实体对象的更新功能向更新所述数据库表中原有的记录。
在一个实施例中,所述S3还包括:
利用数据库查询生成器QueryBuuilder构造查询对象,用于对任意数据库表进行查询。
本实施例中,以iDRFaceGuard为例介绍如何使用GreenDao。有了以上自动生成的代码,在android应用代码中,使用sqlite就变得相当容易了,主要解决如下几个问题:
怎么创建数据库?使用自动生成的第一类模板文件的根模型类对象创建数据库。
怎么查询记录?构造一个QueryBuilder对象来实现查询数据库的表的记录。
怎么插入一条新记录?调用函数xxxEntityDao.insertEntity()就可以插入一条记录。其中xxx表示数据库的表名。
怎么删除一条记录?调用函数xxxEntityDao.deleteEntity()就可以插入一条记录。其中xxx表示数据库的表名。
怎么更新一条记录?调用函数xxx.update()就可以更新一条记录。其中xxx表示一个数据库表对应的对象。
本发明还提供一种基于ORM框架的数据库开发装置,包括:
模板添加模块,用于基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;
自动生成模块,用于在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;以及
数据库生成模块,用于利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
本发明提出本发明所述一种基于ORM框架的数据库开发方法及装置,在ORM框架的基础上,根据需要新增了数据库模板文件及扩展了原ORM框架的模板文件,利用ORM框架自动生成数据库程序代码;利用自动生成数据库程序代码可以快速实现数据库的开发,可以节约开发人员的工作量,大大提高了开发效率。具体有益效果包括:
1.让程序员不再关注数据库细节,专心在业务逻辑上,程序员可以不懂数据库就可以开发系统。
2.让数据库迁移变的非常方便,如果系统需要更改使用的数据库,直接改配制就好了,不要再管不同数据库之间的语法差异。
3.省时,可快速开发,因为不需要自己写复杂的SQL语句,不需要封装复杂的数据底层,这样可以节省很多时间。
图3示出了本发明实施例基于ORM框架的数据库开发设备的结构框图。
参照图3,所述设备,包括:处理器(processor)601、存储器(memory)602和总线603;
其中,
所述处理器601和存储器602通过所述总线603完成相互间的通信;
所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作,包括至少一个第二类模板文件;在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
本发明另一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作,包括至少一个第二类模板文件;在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
本发明另一实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作,包括至少一个第二类模板文件;在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的基于ORM框架的数据库开发设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于ORM框架的数据库开发方法,其特征在于,包括:
S1,基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;
所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;
S2,在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;
S3,利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作;
所述S1还包括:
在所述指定程序工程中添加第三类模板文件和至少一个第四类模板文件;
所述第三类模板文件,用于提供对数据库表中的记录进行增加、删除、修改和查询操作的模板;
所述第四类模板文件,用于以所述第三类模板文件为基模板,对单个数据库表中的记录进行增加、删除、修改和查询操作。
2.如权利要求1所述的方法,其特征在于,所述S1还包括:
基于ORM框架的模板文件dao.ftl,在所述dao.ftl中添加属性数组,所述属性数组用于关联数据库表的任意字段对应的属性;
基于ORM框架的模板文件entity.ftl,在所述entity.ftl中添加属性设置方法,所述属性设置方法用于设置数据库表的字段的属性。
3.如权利要求1所述的方法,其特征在于,所述S2进一步包括:
S2.1,在所述应用程序工程中引用所述指定程序工程,基于所述第一类模板文件创建并初始化根模型类的对象;
S2.2,基于每个所述第二类模板文件的数据库表的字段,一一对应构造数据库表实体对象;
S2.3,将所述数据库表实体对象添加到所述根模型类的对象;
S2.4,利用所述ORM框架为所述根模型类的对象自动生成数据库程序代码。
4.如权利要求3所述的方法,其特征在于,所述S2.3还包括:
基于所述数据库表实体对象,利用所述ORM框架的公共接口建立不同的数据库表之间的关联。
5.如权利要求3所述的方法,其特征在于,所述S3还包括:
对于任意数据库表,基于所述数据库表实体对象的插入功能向所述数据库表插入一条新记录,基于所述数据库表实体对象的删除功能删除所述数据库表的一条记录,所述数据库表实体对象的更新功能向更新所述数据库表中原有的记录。
6.如权利要求3所述的方法,其特征在于,所述S3还包括:
利用数据库查询生成器QueryBuuilder构造查询对象,用于对任意数据库表进行查询。
7.一种基于ORM框架的数据库开发装置,其特征在于,包括:
模板添加模块,用于基于ORM框架的模板文件格式,在指定程序工程中添加第一类模板文件和至少一个第二类模板文件;所述第一类模板文件,用于创建数据库,并生成所有数据库表;所述第二类模板文件,用于对单个数据库表进行初始化和删除操作;
自动生成模块,用于在应用程序工程中引用所述指定程序工程,利用所述ORM框架自动生成数据库程序代码;以及
数据库生成模块,用于利用所述数据库程序代码中的数据库对象创建数据库,生成所有数据库表并执行每个数据库表的初始化操作;
所述模板添加模块,还用于在所述指定程序工程中添加第三类模板文件和至少一个第四类模板文件;
所述第三类模板文件,用于提供对数据库表中的记录进行增加、删除、修改和查询操作的模板;
所述第四类模板文件,用于以所述第三类模板文件为基模板,对单个数据库表中的记录进行增加、删除、修改和查询操作。
8.一种基于ORM框架的数据库开发设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
CN201710351241.4A 2017-05-18 2017-05-18 一种基于orm框架的数据库开发方法及装置 Active CN107273425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710351241.4A CN107273425B (zh) 2017-05-18 2017-05-18 一种基于orm框架的数据库开发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710351241.4A CN107273425B (zh) 2017-05-18 2017-05-18 一种基于orm框架的数据库开发方法及装置

Publications (2)

Publication Number Publication Date
CN107273425A CN107273425A (zh) 2017-10-20
CN107273425B true CN107273425B (zh) 2020-05-12

Family

ID=60064716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710351241.4A Active CN107273425B (zh) 2017-05-18 2017-05-18 一种基于orm框架的数据库开发方法及装置

Country Status (1)

Country Link
CN (1) CN107273425B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304463A (zh) * 2017-12-26 2018-07-20 中国广核电力股份有限公司 一种用于数据库的数据管理方法及其数据库应用组件
CN113656433B (zh) * 2021-08-16 2023-09-05 北京京东振世信息技术有限公司 实体对象扩展方法、装置、电子设备和存储介质
CN115203176B (zh) * 2022-09-15 2023-03-07 太平金融科技服务(上海)有限公司深圳分公司 数据库操作方法、装置、设备、存储介质和程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699620A (zh) * 2013-12-19 2014-04-02 珠海世纪鼎利通信科技股份有限公司 面向对象中利用orm框架实现数据库操作的方法及系统
CN104899225A (zh) * 2014-03-07 2015-09-09 北京四达时代软件技术股份有限公司 对象关系映射方法、装置及处理器
CN106649457A (zh) * 2016-09-26 2017-05-10 天津海量信息技术股份有限公司 基于对象关系映射技术的数据处理框架

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699620A (zh) * 2013-12-19 2014-04-02 珠海世纪鼎利通信科技股份有限公司 面向对象中利用orm框架实现数据库操作的方法及系统
CN104899225A (zh) * 2014-03-07 2015-09-09 北京四达时代软件技术股份有限公司 对象关系映射方法、装置及处理器
CN106649457A (zh) * 2016-09-26 2017-05-10 天津海量信息技术股份有限公司 基于对象关系映射技术的数据处理框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于对象关联映射Android终端访问数据库代码生成的研究;赵艳丽;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150415(第04期);I138-599 *

Also Published As

Publication number Publication date
CN107273425A (zh) 2017-10-20

Similar Documents

Publication Publication Date Title
US8555249B2 (en) Lifecycle stable user interface adaptations
US8341191B2 (en) Methods and structures for utilizing reusable custom-defined nestable compound data types to permit product variations within an existing taxonomy
US8510341B2 (en) System, method and structures for a reusable custom-defined nestable compound data type for construction of database objects
US8095570B2 (en) Decorated model architecture for efficient model-driven application development
US9495475B2 (en) Method of representing an XML schema definition and data within a relational database management system using a reusable custom-defined nestable compound data type
US8826227B2 (en) Computer aided visualization of a business object model lifecycle
US9740713B1 (en) Dynamic modeling of data in relational databases
US8768887B2 (en) Generating and binding notes to business objects
US7546326B2 (en) System and method for generation of an information handling system MOF file from CIM metadata
US10977224B2 (en) Dynamic modeling of data in relational databases
US20150089470A1 (en) Rule-based automatic class generation from a json message
US10437564B1 (en) Object mapping and conversion system
CN107273425B (zh) 一种基于orm框架的数据库开发方法及装置
Li et al. Transforming UML class diagrams into HBase based on meta-model
JP2022545303A (ja) 概念データモデルからのソフトウェアアーチファクトの生成
US20100131565A1 (en) Method for creating a self-configuring database system using a reusable custom-defined nestable compound data type
WO2015196785A1 (zh) 一种构造软件模型的可视软件建模编辑器
Feng et al. Transforming UML class diagram into cassandra data model with annotations
US9684491B2 (en) Annotation-based item description
US11693652B2 (en) Automated authoring of software solutions from a data model
CN116627448A (zh) 一种创建微服务的方法及相关设备
US20140136257A1 (en) In-memory analysis scenario builder
CN116048612A (zh) 项目生成方法、装置、插件与电子设备
WO2015196787A1 (zh) 一种基于界面元视图以构造界面视图的可视界面建模方法
AU2016218953A1 (en) Data structure, model for populating a data structure and method of programming a processing device utilising a data structure

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