一种在Java应用中进行数据操作的方法及装置的制作方法

文档序号:6339018阅读:157来源:国知局
专利名称:一种在Java应用中进行数据操作的方法及装置的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种在Java应用中进行数据操作的方法及装置。
背景技术
在基于Java的项目开发过程中,需要频繁的对数据库进行增加、删除、修改、查询的操作,而在采用Java数据库连接(Java Database Connectivity, JDBC)连接数据库时, 开发人员面对的都是原始数据集合。在业务逻辑开发过程中,开发人员需要根据预先获知的数据库中相关表的结构信息,从数据库中获取需要的数据,这就增加了开发人员的工作量,降低了开发效率。为了解决这一问题,需要进行对象关系映射,所谓对象关系映射即是将数据库中的数据映射为对象,这就引入了数据访问对象(Data Access Object, DA0)模式,DAO是对象关系映射的一种实现方式。DAO模式通过对底层数据进行封装,为业务层提供一个面向对象的接口,使得业务逻辑开发人员可以专注于面向业务中的实体进行编码,使得业务逻辑更加清晰,DAO模式是数据访问类Data Accessor和域对象类Domain Object的组合,其中,Data Accessor是将数据访问的实现机制加以封装,与数据的使用代码相分离,从外部来看,Data Accessor提供了黑盒式的数据存取接口,而Domain Object是领域内涉及的各个数据对象,提供了对所面向领域内对象的封闭。虽然通过DAO模式可以实现业务逻辑与数据逻辑的分离,在实现复杂性和结构清晰性上达到较好的平衡,通常是一个对象对应数据库中的一个表,对象中的多个属性分别对应表的多个字段,在实际对DAO模式的开发过程中,需要手动将数据库中的表转换为DAO 模式的对象,如需要处理数据库中的多个表,则需要针对多个表分别转换为相应的对象,使得开发效率较低,并且由于手动将数据块中的表转换为DAO模式的对象,使得稳定性不高, 易出错。

发明内容
本发明提供一种在Java应用中进行数据操作的方法及装置,用以将数据表映射为源代码形式,提高对象关系映射的效率以及准确率。本发明实施例提供的具体技术方案如下—种在Java应用中进行数据操作的方法,包括从数据库中获取至少一个表的结构信息;将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件;在接收到数据操作指示时,基于所述数据访问类文件包含的函数对所述域对象类文件进行数据操作。一种在Java应用中进行数据操作的装置,包括第一处理单元,用于从数据库中获取至少一个表的结构信息;
第二处理单元,用于将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件;第三处理单元,用于在接收到数据操作指示时,基于所述数据访问类文件包含的函数对所述域对象类文件进行数据操作。基于上述技术方案,在建立数据库连接后,从数据库中获取表的结构信息,将表的结构信息映射为域对象类文件和数据访问类文件,从而能够将数据库中表的结构信息映射为域对象类文件,即将表的结构转换为源代码的形式,将对数据库中表的数据操作映射为数据访问类文件,将针对表的数据操作转换为源代码的形式,在接收到数据操作指示时,基于数据库访问类文件包含的函数对域对象类文件进行数据操作,从而能够自动获取表中的记录,而无需人工读取数据库中的原始数据,从而提高了对象关系映射的效率和准确率。


图1为本发明在Java应用中进行数据操作的方法流程图;图2为本发明在Java应用中进行数据操作的装置结构图。
具体实施例方式为了提高对象关系映射的效率以及准确率,本发明实施例提供了一种在Java应用中进行数据操作的方法及装置,能够提高对象关系映射的效率,并提高准确率。该方法为从数据库中获取至少一个表的结构信息,将该至少一个表的结构信息映射为域对象类文件和数据访问类文件,在接收到数据操作指示时,基于数据访问类文件包含的函数对域对象类文件进行数据操作。下面结合附图对本发明优选的实施例进行详细说明。参阅附图1所示,本发明实施例中,在Java应用中进行数据操作的具体方法流程如下步骤101 从数据库中获取至少一个表的结构信息。在Java应用中,可以通过Java数据库连接方式进行数据库连接,即通过数据库连接对象(Connection对象)建立数据库连接,并在建立数据库连接后,从数据库中获取数据库的整体综合信息对象,该整体综合信息对象中包含数据库中所有表的结构信息,本发明实施例中,从数据库的整体综合信息对象中获取至少一个表的结构信息。其中,一个表的结构信息至少包含一个表的字段名称,字段的数据类型,字段精度以及字段是否为空。本发明实施例中,在获取至少一个表的结构信息时,首先获取该表的主键,如果该表不存在主键,则结束。表的主键是指表中记录的唯一标识字段,表的主键不能重复,也不能为空值。步骤102 将至少一个表的结构信息映射为域对象类文件和数据访问类文件。其中,在将至少一个表的结构信息映射为域对象类文件时,针对至少一个表定义域对象类,并在该域对象类中预设获取数据和设置数据的外部接口,将表的结构信息映射为域对象类的私有数据。在将至少一个表的结构信息映射为数据访问类文件时,针对上述至少一个表定义数据访问类,基于该至少一个表的结构信息生成数据访问类包含的函数。该数据访问类包含的函数至少包括数据的增加函数、删除函数、修改函数和查询函数。一个表对应一个域对象类文件和一个数据访问类文件,可以针对数据库中的全部或部分表的结构信息。在生成域对象类文件和数据访问类文件后,将生成的域对象类文件和数据访问类文件保存至指定位置,以直接从该指定位置进行调用。步骤103 在接收到数据操作指示时,基于数据库访问类文件包含的函数对域对象类文件进行数据操作。下面针对步骤102中将至少一个表的信息映射为域对象文件和数据访问类文件的过程进行详细说明。其中,在将至少一个表的结构信息映射为域对象文件时,首先针对该至少一个表预定义域对象类,包括定义域对象类的命名规则,域对象类私有数据成员的命名规则,数据类型映射规则,构造函数,以及获取数据和设置数据的外部接口 ;再将表的结构信息映射为域对象类的私有数据。例1,域对象类的命名规则设置为如表1所示,域对象类的名称和相应的表的名称一致,并且第一个字母大写,后面的字母小写,在表的名称中有下划线时,在相对应的域对象类的名称中将下划线去除,将下划线后面的第一个字母大写,并且后面的字母小写。表 权利要求
1.一种在Java应用中进行数据操作的方法,其特征在于,包括从数据库中获取至少一个表的结构信息;将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件;在接收到数据操作指示时,基于所述数据访问类文件包含的函数对所述域对象类文件进行数据操作。
2.如权利要求1所述的方法,其特征在于,从数据库中获取至少一个表的结构信息,包括获取所述至少一个表的主键信息,若存在,则将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件,所述主键信息为所述至少一个表的结构信息中用作唯一标识的字段。
3.如权利要求1所述的方法,其特征在于,将所述至少一个表的结构信息映射为域对象类文件,包括针对所述至少一个表定义域对象类,并在所述域对象类中预设获取数据和设置数据的外部接口 ;将表的结构信息映射为所述域对象类的私有数据。
4.如权利要求1所述的方法,其特征在于,将所述至少一个表的结构信息映射为数据访问类文件,包括针对所述至少一个表定义数据访问类;基于所述至少一个表的结构信息生成所述数据访问类包含的函数。
5.如权利要求4所述的方法,其特征在于,所述数据访问类包含的函数至少包括数据的增加函数、删除函数、修改函数和查询函数。
6.一种在Java应用中进行数据操作的装置,其特征在于,包括第一处理单元,用于从数据库中获取至少一个表的结构信息;第二处理单元,用于将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件;第三处理单元,用于在接收到数据操作指示时,基于所述数据访问类文件包含的函数对所述域对象类文件进行数据操作。
7.如权利要求6所述的装置,其特征在于,所述第一处理单元从数据库中获取至少一个表的结构信息时,获取所述至少一个表的主键信息,若存在,则将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件,所述主键信息为所述至少一个表的结构信息中用作唯一标识的字段。
8.如权利要求6所述的装置,其特征在于,所述第二处理单元将所述至少一个表的结构信息映射为域对象类文件,具体为针对所述至少一个表定义域对象类,并在所述域对象类中预设获取数据和设置数据的外部接口 ;将表的结构信息映射为所述域对象类的私有数据。
9.如权利要求6所述的装置,其特征在于,所述第二处理单元将所述至少一个表的结构信息映射为数据访问类文件,具体为针对所述至少一个表定义数据访问类;基于所述至少一个表的结构信息生成所述数据访问类包含的函数。
10.如权利要求9所述的装置,其特征在于,所述数据访问类包含的函数至少包括数据的增加函数、删除函数、修改函数和查询函数。
全文摘要
本发明公开了一种在Java应用中进行数据操作的方法及装置,用以将数据表映射为源代码形式,提高对象关系映射的效率及准确率。该方法为从数据库中获取至少一个表的结构信息,将所述至少一个表的结构信息映射为域对象类文件和数据访问类文件,在接收到数据操作指示时,基于所述数据访问类文件包含的函数对所述域对象类文件进行数据操作。该方法能够将数据表映射为源代码,提高对象关系映射的效率和准确率。本发明同时公开了一种在Java应用中进行数据操作的装置。
文档编号G06F17/30GK102566990SQ20101059331
公开日2012年7月11日 申请日期2010年12月9日 优先权日2010年12月9日
发明者崔杰 申请人:北京北大方正电子有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1