一种实现数据持久层分离的方法及系统的制作方法

文档序号:6632579阅读:342来源:国知局
一种实现数据持久层分离的方法及系统的制作方法
【专利摘要】本发明涉及一种实现数据持久层分离的方法及系统,其方法包括步骤1:定义一个与数据库模型相映射的java类;步骤2:封装数据持久层;步骤3:将数据持久层封装为EJB服务组件;步骤4:创建一个在WEB端访问EJB服务组件的EJB工具类;步骤5:将EJB服务组件和EJB工具类打包生成EJB工具包;步骤6:将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署。本发明将数据持久层分离并独立部署,降低WEB服务器压力,提升系统稳定性与运行效率;并且提供了一种开发分布式应用的具体思路,降低了开发分布式应用的难度,对改造臃肿、缓慢的WEB应用系统具有很好的参考价值。
【专利说明】一种实现数据持久层分离的方法及系统

【技术领域】
[0001]本发明涉及一种实现数据持久层分离的方法及系统,属于计算机【技术领域】。

【背景技术】
[0002]EJB(企业级Java Bean)是sun公司的一种服务器端组件体系结构,用于构建可分布式部署的应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。包括会话Bean (Sess1n Bean),实体Bean (Entity Bean)和消息驱动Bean(MessageDriven Bean)。


【发明内容】

[0003]本发明所要解决的技术问题是,针对现有技术的不足,提供一种利用EJB技术将客服系统的数据持久层与WEB端分离并进行独立部署,显著提升客服系统稳定性与运行效率,并提供一种通用的数据库交互方法,使分布式程序开发简单易行的基于EJB技术实现数据持久层分离的方法。
[0004]本发明解决上述技术问题的技术方案如下:一种实现数据持久层分离的方法,具体包括以下步骤:
[0005]步骤1:定义一个与数据库模型相映射的java类,并根据OR-Mapping对象-关系映射思想将java类与数据库模型建立映射关系,java类生成ibatis配置文件;
[0006]步骤2:基于ibatis配置文件封装数据持久层,实现对数据持久化操作;
[0007]步骤3:采用EJB技术将数据持久层进一步封装为可分布式部署和调用的EJB服务组件;
[0008]步骤4:创建一个在WEB端访问EJB服务组件的EJB工具类;
[0009]步骤5:将EJB服务组件和EJB工具类打包生成EJB工具包;
[0010]步骤6:将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署。
[0011]本发明的有益效果是:本发明将数据持久层分离并独立部署,降低WEB服务器压力,提升系统稳定性与运行效率;并且提供了一种开发分布式应用的具体思路,降低了开发分布式应用的难度,对改造臃肿、缓慢的WEB应用系统具有很好的参考价值。
[0012]在上述技术方案的基础上,本发明还可以做如下改进。
[0013]进一步,还包括步骤7:在WEB服务器中通过调用EJB工具包的方法进行将数据持久化,实现前台业务与后台数据库持久化的分离。
[0014]进一步,所述步骤1具体包括以下步骤:
[0015]步骤1.1:通过自定义的代码生成器,生成数据库表和与数据库表同名的java类,并同时生成每个属性的get和set方法;
[0016]步骤1.2:生成与数据库表同名的xml文件,即ibatis配置文件。
[0017]采用上述进一步方案实现的有益效果是,生成每个属性的get和set方法,用于方便的获取属性值或给属性赋值。
[0018]进一步,所述步骤2中数据持久层的封装采用的是步骤1.2得到的ibatis配置文件实现的,即客服系统中采用的ibatis开源框架实现对数据持久化操作。
[0019]进一步,所述步骤4具体包括以下步骤:
[0020]步骤4.1:根据EJB服务组件部署的IP地址和JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例;
[0021]步骤4.2:根据EJB服务组件所提供的服务器端方法编写对应的客户端方法,实现创建EJB工具类。
[0022]进一步,所述数据持久化操作包括新增、删除、修改、查询、批量更新和组合更新,查询语句可以返回不同结果集,最终返回给调用方使用。
[0023]进一步,所述ibatis配置文件中包含基本的SQL语句,如单条查询、修改、插入、删除、列表查询和数量统计,各个SQL语句已表主键字段作为查询条件。
[0024]本发明所要解决的技术问题是,针对现有技术的不足,提供一种利用EJB技术将客服系统的数据持久层与WEB端分离并进行独立部署,显著提升客服系统稳定性与运行效率,并提供一种通用的数据库交互方法,使分布式程序开发简单易行的基于EJB技术实现数据持久层分离的系统。
[0025]本发明解决上述技术问题的技术方案如下:一种实现数据持久层分离的系统,包括:映射建立模块、封装模块、二次封装模块、工具类模块、打包模块和分离模块;
[0026]所述映射建立模块用于定义一个与数据库模型相映射的java类,并根据OR-Mapping对象-关系映射思想将java类与数据库模型建立映射关系,java类生成ibatis配置文件;
[0027]所述封装模块用于基于ibatis配置文件封装数据持久层,实现对数据持久化操作;
[0028]所述二次封装模块用于采用EJB技术将数据持久层进一步封装为可分布式部署和调用的EJB服务组件;
[0029]所述工具类模块用于创建一个在WEB端访问EJB服务组件的EJB工具类;
[0030]所述打包模块用于将EJB服务组件和EJB工具类打包生成EJB工具包;
[0031]所述分离模块用于将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署。
[0032]本发明的有益效果是:本发明将数据持久层分离并独立部署,降低WEB服务器压力,提升系统稳定性与运行效率;并且提供了一种开发分布式应用的具体思路,降低了开发分布式应用的难度,对改造臃肿、缓慢的WEB应用系统具有很好的参考价值。
[0033]在上述技术方案的基础上,本发明还可以做如下改进。
[0034]进一步,还包括前后台分离模块,所述前后台分离模块用于在WEB服务器中通过调用EJB工具包的方法进行将数据持久化,实现前台业务与后台数据库持久化的分离。
[0035]进一步,所述映射建立模块包括类生成模块和配置文件模块;
[0036]所述类生成模块用于通过自定义的代码生成器,生成数据库表和与数据库表同名的java类,并同时生成每个属性的get和set方法;
[0037]所述配置文件模块用于生成与数据库表同名的xml文件,即ibatis配置文件。
[0038]采用上述进一步方案实现的有益效果是,生成每个属性的get和set方法,用于方便的获取属性值或给属性赋值。
[0039]进一步,所述封装模块中数据持久层的封装采用的是配置文件模块得到的ibatis配置文件实现的,即客服系统中采用的ibatis开源框架实现对数据持久化操作。
[0040]进一步,所述工具类模块包括实例查找模块和创建模块;
[0041 ] 所述实例查找模块用于根据EJB服务组件部署的IP地址和JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例;
[0042]所述创建模块用于根据EJB服务组件所提供的服务器端方法编写对应的客户端方法,实现创建EJB工具类。
[0043]进一步,所述数据持久化操作包括新增、删除、修改、查询、批量更新和组合更新,查询语句可以返回不同结果集,最终返回给调用方使用。
[0044]进一步,所述ibatis配置文件中包含基本的SQL语句,如单条查询、修改、插入、删除、列表查询和数量统计,各个SQL语句已表主键字段作为查询条件。

【专利附图】

【附图说明】
[0045]图1为本发明具体实施例1所述的一种日报作业的调度方法流程图;
[0046]图2为本发明具体实施例1所述的一种日报作业的调度系统结构框图。
[0047]附图中,各标号所代表的部件列表如下:
[0048]1、映射建立模块,2、封装模块,3、二次封装模块,4、工具类模块,5、打包模块,6、分离模块,7、前后台分离模块,11、类生成模块,12、配置文件模块,41、实例查找模块,42、创建模块。

【具体实施方式】
[0049]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0050]如图1所示,为本发明具体实施例1所述的一种实现数据持久层分离的方法,具体包括以下步骤:
[0051]步骤1:通过自定义的代码生成器,生成数据库表和与数据库表同名的java类,并同时生成每个属性的get和set方法;
[0052]步骤2:生成与数据库表同名的xml文件,即ibatis配置文件;
[0053]步骤3:基于ibatis配置文件封装数据持久层,实现对数据持久化操作;
[0054]步骤4:采用EJB技术将数据持久层进一步封装为可分布式部署和调用的EJB服务组件;
[0055]步骤5:根据EJB服务组件部署的IP地址和JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例;
[0056]步骤6:根据EJB服务组件所提供的服务器端方法编写对应的客户端方法,实现创建EJB工具类;
[0057]步骤7:将EJB服务组件和EJB工具类打包生成EJB工具包;
[0058]步骤8:将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署;
[0059]步骤9:在WEB服务器中通过调用EJB工具包的方法进行将数据持久化,实现前台业务与后台数据库持久化的分离。
[0060]所述步骤2中数据持久层的封装采用的是步骤1.2得到的ibatis配置文件实现的,即客服系统中采用的ibatis开源框架实现对数据持久化操作。
[0061]所述数据持久化操作包括新增、删除、修改、查询、批量更新和组合更新,查询语句可以返回不同结果集,最终返回给调用方使用。
[0062]所述ibatis配置文件中包含基本的SQL语句,如单条查询、修改、插入、删除、列表查询和数量统计,各个SQL语句已表主键字段作为查询条件。
[0063]如图2所示,为本发明具体实施例1所述的一种实现数据持久层分离的系统,包括:映射建立模块1、封装模块2、二次封装模块3、工具类模块4、打包模块5和分离模块6 ;
[0064]所述映射建立模块1定义一个与数据库模型相映射的java类,并根据OR-Mapping对象-关系映射思想将java类与数据库模型建立映射关系,java类生成ibatis配置文件;
[0065]所述封装模块2用于基于ibatis配置文件封装数据持久层,实现对数据持久化操作;
[0066]所述二次封装模块3用于采用EJB技术将数据持久层进一步封装为可分布式部署和调用的EJB服务组件;
[0067]所述工具类模块4用于创建一个在WEB端访问EJB服务组件的EJB工具类;
[0068]所述打包模块5用于将EJB服务组件和EJB工具类打包生成EJB工具包;
[0069]所述分离模块6用于将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署。
[0070]还包括前后台分离模块7,所述前后台分离模块用于在WEB服务器中通过调用EJB工具包的方法进行将数据持久化,实现前台业务与后台数据库持久化的分离。
[0071]所述映射建立模块1包括类生成模块11和配置文件模块12 ;
[0072]所述类生成模块11用于通过自定义的代码生成器,生成数据库表和与数据库表同名的java类,并同时生成每个属性的get和set方法;
[0073]所述配置文件模块12用于生成与数据库表同名的xml文件,即ibatis配置文件。
[0074]所述封装模块2中数据持久层的封装采用的是配置文件模块12得到的ibatis配置文件实现的,即客服系统中采用的ibatis开源框架实现对数据持久化操作。
[0075]所述数据持久化操作包括新增、删除、修改、查询、批量更新和组合更新,查询语句可以返回不同结果集,最终返回给调用方使用。
[0076]所述ibatis配置文件中包含基本的SQL语句,如单条查询、修改、插入、删除、列表查询和数量统计,各个SQL语句已表主键字段作为查询条件。
[0077]所述工具类模块4包括实例查找模块41和创建模块42 ;
[0078]所述实例查找模块41用于根据EJB服务组件部署的IP地址和JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例;
[0079]所述创建模块42用于根据EJB服务组件所提供的服务器端方法编写对应的客户端方法,实现创建EJB工具类。
[0080]将EJB工具包分别部署到EJB服务器和WEB服务器中。部署至EJB服务器的方法视不同的EJB容器而定,市场上所有的EJB容器都提供了相应的部署方法。部署至WEB服务器的方法是将该jar包加入标准Java Web工程的WEB_INF/lib目录下,或者放置到任何其他目录中,同时将其路径加入WEB服务器的classpath环境变量中。
[0081 ] 改造WEB端应用程序如java类、jsp等,将其访问数据库的方法修改为调用EJB工具类的方法进行。
[0082]以下按照7个步骤对本发明的方法进行详细解释:
[0083]1.采用OR-Mapping思想(对象-关系映射),根据客服系统的数据库模型创建对象关系映射,即定义与数据库模型相映射的Java类(dto),对于业务上映射关系不明确的数据库模型,可用HashMap替代。
[0084]关于映射关系的建立,客服系统中通过自定义的代码生成器,自动生成数据库表、Java类和ibatis配置文件的对应关系。首先,生成与数据库表同名的Java类,类中属性与表中字段名称、个数相同,并同时生成每个属性的get和set方法,用于方便的获取属性值或给属性赋值。其次,生成与表同名的Xml文件,即ibatis配置文件,文件中包含基本的SQL语句,如单条查询、修改、插入、删除、列表查询和数量统计,各个sql语句已表主键字段作为查询条件。
[0085]2.以上第1点中的ibatis配置文件,即客服系统中采用的Ibatis开源框架,用于实现对数据持久化操作,包括新增、删除、修改、查询、批量更新、组合更新,查询语句可以返回不同结果集(数字、字符串、dto对象、HashMap对象、dto对象的List集合、HashMap对象的List集合),最终返回给调用方使用,通常为客服前台业务代码。
[0086]3.采用EJB技术将第2步封装的数据持久层进一步改造为可分布式部署与调用的服务组件。即在EJB层,增加java类,用于直接与ibatis配置文件交互。定义对应的方法执行相对应的SQL语句,并返回执行结果,如单条查询返回java对象,列表查询返回List对象,修改、插入和删除的语句,则返回执行结果的标识(0:成功,1:失败)。实现此java类后,作为EJB层的服务发布,前天WEB应用的业务代码,只需调用EJB服务提供的方法来实现持久化,不需要直接与ibatis配置文件交互。
[0087]4.创建一个在WEB端访问第3步产生的服务组件的通用工具类,具体是根据EJB服务组件部署的IP地址、JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例,再根据第2步所述该服务组件所提供的服务器端方法编写对应的客户端方法。
[0088]5.将第3步的EJB服务组件、第4步的EJB工具类打包生成EJB工具包(jar包)。
[0089]6.将第5步生成的工具包分别部署到WEB服务器(可以是普通的WEB应用服务器,应用服务器需具备EJB容易,如Weblogic)中,最终实现数据持久层的分离和独立部署。
[0090]7.最后,在WEB端应用程序如java类、jsp等,将其数据持久化方法(对数据库的数据进行增、删、改、查)通过调用EJB工具类的方法进行。最终实现前台业务与后台数据库持久化的分离。
[0091 ] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种实现数据持久层分离的方法,其特征在于,具体包括以下步骤: 步骤1:定义一个与数据库模型相映射的java类,并根据OR-Mapping对象-关系映射思想将java类与数据库模型建立映射关系,java类生成ibatis配置文件; 步骤2:基于ibatis配置文件封装数据持久层,实现对数据持久化操作; 步骤3:采用EJB技术将数据持久层进一步封装为可分布式部署和调用的EJB服务组件; 步骤4:创建一个在WEB端访问EJB服务组件的EJB工具类; 步骤5:将EJB服务组件和EJB工具类打包生成EJB工具包; 步骤6:将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署。
2.根据权利要求1所述的一种实现数据持久层分离的方法,其特征在于,还包括步骤7:在WEB服务器中通过调用EJB工具包的方法进行将数据持久化,实现前台业务与后台数据库持久化的分离。
3.根据权利要求2所述的一种实现数据持久层分离的方法,其特征在于,所述步骤I具体包括以下步骤: 步骤1.1:通过自定义的代码生成器,生成数据库表和与数据库表同名的java类,并同时生成每个属性的get和set方法; 步骤1.2:生成与数据库表同名的xml文件,即ibatis配置文件。
4.根据权利要求3所述的一种实现数据持久层分离的方法,其特征在于,所述步骤2中数据持久层的封装采用的是步骤1.2得到的ibatis配置文件实现的,即客服系统中采用的ibatis开源框架实现对数据持久化操作。
5.根据权利要求1-4任一项所述的一种实现数据持久层分离的方法,其特征在于,所述步骤4具体包括以下步骤: 步骤4.1:根据EJB服务组件部署的IP地址和JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例; 步骤4.2:根据EJB服务组件所提供的服务器端方法编写对应的客户端方法,实现创建EJB工具类。
6.根据权利要求5所述的一种实现数据持久层分离的方法,其特征在于,所述数据持久化操作包括新增、删除、修改、查询、批量更新和组合更新,查询语句可以返回不同结果集,最终返回给调用方使用; 所述ibatis配置文件中包含基本的SQL语句,各个SQL语句已表主键字段作为查询条件。
7.一种实现数据持久层分离的系统,其特征在于:映射建立模块、封装模块、二次封装模块、工具类模块、打包模块和分离模块;所述映射建立模块用于定义一个与数据库模型相映射的java类,并根据OR-Mapping对象-关系映射思想将java类与数据库模型建立映射关系,java类生成ibatis配置文件;所述封装模块用于基于ibatis配置文件封装数据持久层,实现对数据持久化操作;所述二次封装模块用于采用EJB技术将数据持久层进一步封装为可分布式部署和调用的EJB服务组件; 所述工具类模块用于创建一个在WEB端访问EJB服务组件的EJB工具类; 所述打包模块用于将EJB服务组件和EJB工具类打包生成EJB工具包; 所述分离模块用于将EJB工具包部署到WEB服务器中,实现数据持久层的分离和独立部署。
8.根据权利要求7所述的一种实现数据持久层分离的系统,其特征在于,还包括前后台分离模块,所述前后台分离模块用于在WEB服务器中通过调用EJB工具包的方法进行将数据持久化,实现前台业务与后台数据库持久化的分离。
9.根据权利要求8所述的一种实现数据持久层分离的系统,其特征在于,所述映射建立模块包括类生成模块和配置文件模块; 所述类生成模块用于通过自定义的代码生成器,生成数据库表和与数据库表同名的java类,并同时生成每个属性的get和set方法; 所述配置文件模块用于生成与数据库表同名的xml文件,即ibatis配置文件。
10.根据权利要求7-9任一项所述的一种实现数据持久层分离的系统,其特征在于,所述工具类模块包括实例查找模块和创建模块; 所述实例查找模块用于根据EJB服务组件部署的IP地址和JNDI名称,通过JNDI规范查找并获取到EJB服务组件的实例; 所述创建模块用于根据EJB服务组件所提供的服务器端方法编写对应的客户端方法,实现创建EJB工具类。
【文档编号】G06F9/44GK104461495SQ201410602487
【公开日】2015年3月25日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】马春新 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1