一种自动生成并使用代码的方法技术

技术编号:8980651 阅读:180 留言:0更新日期:2013-07-31 22:47
本发明专利技术公开了一种自动生成并使用代码的方法,其特征在于,包括以下步骤:步骤一:数据获取模块获取数据库及数据库业务表的系统属性;步骤二,代码生成模块将获取到的相应所述系统属性拼装成实体类代码、模型类代码和数据处理类代码并进行存储;步骤三,步骤二中生成的所述类代码继承基类为对应基类方法;步骤四,当用户在客户端发出对所述业务表数据进行操作请求时,数据处理类模块根据用户请求的数据类型实例化到对应的所述模型类代码并通过反射机制进行SQL语句拼装,数据库处理组件接收并执行SQL语句,返回生成的操作结果。本发明专利技术使用反射技术和动态拼装数据库可执行的SQL语句,降低出错率,提高了程序简洁性、可维护性和可读性。

【技术实现步骤摘要】
一种自动生成并使用代码的方法
本专利技术涉及数据库应用领域技术中的逻辑组合
,主要涉及到数据表操作的产品的开发过程,特别涉及一种自动生成并使用代码的方法。
技术介绍
随着信息化技术的普及与发展,越来越多的企业、单位或团队需要计算机软件来协助管理日益复杂日常工作。随着社会对软件需求量的快速增长和业务复杂度的不断上升,业务数据库的数据表的数量和种类也存在很大不同,程序员在对数据表编写实体类代码和编写曾、删、改、查方和根据业务变更修改代码时,都会存在着一些操作过程和操作方法相同的操作,有了相同的操作过程和操作方法,程序员势必要做很多重复劳动的工作,为了减免程序员的重复劳动,提高开发效率,减少出错率,程序员需要拥有一个替他们做这些重复劳动的工具,这样程序员将会从重复劳动中解脱出来,将更多的精力投入到业务逻辑分析实现上,这样可以大大降低开发成本,缩短开发周期,提高产品质量。
技术实现思路
本专利技术的目的是提供一种自动生成和使用代码的方法,用于解决因数据库表的业务变化或不同,重复编写数据库业务表操作程序的问题。本专利技术会协助开发人员,根据不同的数据库业务表自动生成对应的实体类代码和数据库模型类代码,并生成“增加记录、删除记录、修改记录和查询记录”基本功能程序代码,大大缩短了软件的开发周期,减少了开发人员的工作压力,降低了成本,提高了产品的市场竞争力。本专利技术公开了一种自动生成并使用代码的方法,其特征在于,包括以下步骤:步骤一,数据获取模块通过数据库连接字符串连接到数据库,获取用户设置的数据库及数据库业务表的系统属性;步骤二,代码生成模块获取到所述系统属性,并将相应所述系统属性添加到实体类模板、数据模型类模板和数据处理类模板,利用字符串拼装技术生成实体类代码、模型类代码和数据处理类代码并进行存储;步骤三,所述实体类代码、所述模型类代码及所述数据处理类代码继承平台基类为实体类基类方法、模型类基类方法及数据处理类基类方法;步骤四,当用户在客户端发出对所述业务表数据进行操作请求时,数据处理类模块首先获取用户请求并调用数据处理类代码进行操作,根据用户请求的数据类型实例化到对应的所述模型类代码,所述模型类代码通过所述基类方法的反射机制进行SQL语句拼装,数据库处理组件接收并执行SQL语句,返回生成的操作结果。优选的是,所述步骤四,当用户要对所述业务表数据进行操作时,用户将请求内容输入所述数据处理类模块,所述实体类代码会进行自动校对,如果只是对所述数据库业务表已有所述系统属性进行内容上的修改,则所述实体类代码、所述模型类代码和所述操作类代码不发生变更。优选的是,所述步骤四,当用户要对所述业务表数据进行操作时,用户将请求内容输入所述数据处理类模块,所述实体类代码会进行自动校对,如果用户是对所述业务表数据的所述系统属性类型和所述系统属性数量进行增加修改,则所述实体类代码和所述模型类代码都发生相应的变更并存储,但所述操作类代码不需要变更。优选的是,所述系统属性包括表名、字段名称、字段描述、字段数据类型、字段可否为空、主键属性和自增属性。优选的是,所述步骤四,当用户在客户端发出对所述业务表数据进行查询操作请求时,所述数据库处理组件返回结果为包含查询内容在内的一个数据集,当用户在客户端发出对所述业务表数据进行增加、删除、修改操作请求时,所述数据库处理组件会判断用户是否进行增加、删除、修改和查询的操作,如果“是”,返回结果为增加、删除、修改操作成功或失败,如果“否”返回查询结果。优选的是,所述模型类模板为含有的“表名”、“命名空间”、“字段名称及类型”对应的点位符的函数。优选的是,所述实体类模板为含有的“表名”、“命名空间”、“字段名称及类型”、“属性名称及类型”对应的点位符的函数。优选的是,所述SQL语句模板为含有的“表名”、“命名空间”、“方法名称及返回值类型”、“参数名称及类型”对应的点位符的函数。优选的是,所述SQL语句在所述用户请求完成时会被删除,释放缓存空间。本专利技术的有益效果是所述数据处理类代码是以所述实体类代码和模型类代码为操作对象,并通过反射技术来形成SQL语句,使用数据库处理组件对SQL语句进行操作处理,体现了面向对象的编程思想。当用户在客户端发出对所述业务表数据进行操作请求时,数据处理类模块会根据用户请求并调用数据处理类代码进行操作,根据用户请求的数据类型实例化到对应的所述模型类代码,所述模型类代码通过所述基类方法的反射机制进行SQL语句拼装,所述SQL语句是动态拼装的,在用户请求操作完成时,所述SQL语句就会被删除,不占用内存,即本专利技术不包含明显的SQL语句字符串,降低出错率和提高程序简洁性。本专利技术使用反射技术,动态拼装数据库可执行的SQL语句,降低了数据库更改所带来的程序频繁更改,提高程序可维护性和可读性。附图说明图1为本专利技术所述的自动生成代码的流程示意图。图2为本专利技术所述的使用代码的流程示意图。具体实施方式下面结合附图对本专利技术做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。如图1所示:一种自动生成并使用代码的方法,其特征在于,包括以下步骤:步骤一,数据获取模块通过数据库连接字符串连接到数据库,获取用户设置的数据库及数据库业务表的系统属性,例如,用户设置的数据库为学校的成绩管理数据库,指定访问的业务表为三年级2班2013年上半学期学生的成绩单,那么数据获取模块会根据用户的设置找到这个成绩单,并获取成绩单中姓名、成绩等字段;步骤二,代码生成模块获取到所述系统属性,并将相应所述系统属性添加到实体类模板、数据模型类模板和数据处理类模板,利用字符串拼装技术生成实体类代码、模型类代码和数据处理类代码并进行存储;例如生成实体类代码时,可以将表名+“Entity”做为一个实体类代码名称,生成代码的方式为[Serializable]publicpartialclassTB_NOB_AM_USEREntity;生成模型类代码时表名+“Model”作为模型类代码名称,生成代码的方式为[TableName(″TB_NOB_AM_USER″)]publicpartialclassTB_NOB_AM_USERModel;生成操作类代码时表名+“DAL”作为操作类代码名称,生成代码的方式为publicpartialclassTB_NOB_AM_USERDAL。步骤三,所述实体类代码、所述模型类代码及所述数据处理类代码继承平台基类为实体类基类方法、模型类基类方法及数据处理类基类方法。所述基类为平台中存在的一种回调函数,可以被所述实体类代码、所述模型类代码及所述数据处理类代码继承后派生出新的基类,所述新派生的基类即为实体类基类方法、模型类基类方法及数据处理类基类方法,其中的代码可以被反射机制调用来组成SQL语句和实体类代码与模型类代码之间的转换使用。步骤四,如图2所示,当用户在客户端发出对所述业务表数据进行操作请求时,数据处理类模块首先获取用户请求并调用所述数据处理类代码进行操作,根据用户请求的数据类型实例化到对应的所述模型类代码,所述模型类代码通过所述基类的反射机制进行SQL语句拼装,数据库处理组件接收并执行SQL语句,返回生成的操作结果。也就是说,当用户要求查询步骤一中调取的成绩单中某几个人的各科成绩或者一科成绩时,数本文档来自技高网...
一种自动生成并使用代码的方法

【技术保护点】
一种自动生成并使用代码的方法,其特征在于,包括以下步骤:步骤一,数据获取模块通过数据库连接字符串连接到数据库,获取用户设置的数据库及数据库业务表的系统属性;步骤二,代码生成模块获取到所述系统属性,并将相应所述系统属性添加到实体类模板、数据模型类模板和数据处理类模板,利用字符串拼装技术生成实体类代码、模型类代码和数据处理类代码并进行存储;步骤三,所述实体类代码、所述模型类代码及所述数据处理类代码继承平台基类为实体类基类方法、模型类基类方法及数据处理类基类方法;步骤四,当用户在客户端发出对所述业务表数据进行操作请求时,数据执行模块首先获取用户请求并调用数据处理类代码进行操作,根据用户请求的数据类型实例化到对应的所述模型类代码,所述模型类代码通过所述基类方法的反射机制进行SQL语句拼装,数据库处理组件接收并执行SQL语句,返回生成的操作结果。

【技术特征摘要】
1.一种自动生成并使用代码的方法,其特征在于,包括以下步骤:步骤一,数据模块通过数据库连接字符串连接到数据库,获取用户设置的数据库及数据库业务表的系统属性;所述系统属性包括表名、字段名称、字段描述、字段数据类型、字段可否为空、主键属性和自增属性;步骤二,代码生成模块获取到所述系统属性,并将相应所述系统属性添加到实体类模板、数据模型类模板和数据处理类模板,利用字符串拼装技术生成实体类代码、模型类代码和数据处理类代码并进行存储;步骤三,所述实体类代码、所述模型类代码及所述数据处理类代码继承平台基类为实体类基类方法、模型类基类方法及数据处理类基类方法;步骤四,当用户在客户端发出对所述业务表数据进行操作请求时,数据执行模块首先获取用户请求并调用数据处理类代码进行操作,根据用户请求的数据类型实例化到对应的所述模型类代码,所述模型类代码通过所述基类方法的反射机制进行SQL语句拼装,数据库处理组件接收并执行SQL语句,返回生成的操作结果;所述步骤四,当用户要对所述业务表数据进行操作时,用户将请求内容输入所述数据处理类模块,所述实体类代码会进行自动校对,如果只是对所述数据库业务表已有所述系统属性进行内容上的修改,则所述实体类代码、所述模型类代码和操作类代码不发生变更;所述步骤四,当用户要对所述业务表数据进行操作时,用户将请求内容输入所述数据处理类模块,所述实体类代码会...

【专利技术属性】
技术研发人员:李军锋李跃海
申请(专利权)人:北京金和软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1