首页 / 专利库 / 门,大门和窗户 / 框架 / 一种数据持久层的实现方法

一种数据持久层的实现方法

阅读:165发布:2024-02-12

专利汇可以提供一种数据持久层的实现方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及JAVA开发技术领域,特别涉及一种数据持久层的实现方法。本发明的方法是实现统一的持久层 接口 ,在接口中定义 数据库 操作的所有方法;并实现持久层接口的统一实现类;所述实现类实现接口的所有方法;在业务实现层,直接调用数据库基类完成数据库的操作;开发业务模 块 的sql语句,所述语句的id与业务模块的方法一致。本发明方法解决了持久层开发工作量大、升级不便等问题;可以用于实现基于ibatis 框架 基础 的数据持久层。,下面是一种数据持久层的实现方法专利的具体信息内容。

1.一种数据持久层的实现方法,其特征在于:所述的方法包括如下步骤:
步骤1:实现统一的持久层接口;在接口中定义数据库操作的所有方法;
步骤2:实现持久层接口的统一实现类;所述实现类实现接口的所有方法;
步骤3:在业务实现层,直接调用数据库基类完成数据库的操作;
步骤4:开发业务模的sql语句,所述语句的id与业务模块的方法一致。
2.根据权利要求1所述的方法,其特征在于:所述的方法中,数据库的具体调用都通过所述的实现类,其它业务方法调用该实现类实现数据的在线保存与读取动作。
3.根据权利要求1所述的方法,其特征在于:所述方法中,数据库操作通过线程的方式,获得调用对象的方法名;并将该方法名作为sql语句的id参数,传入具体的方法中。
4.根据权利要求2所述的方法,其特征在于:所述方法中,数据库操作通过线程的方式,获得调用对象的方法名;并将该方法名作为sql语句的id参数,传入具体的方法中。
5.根据权利要求1至4任一项所述的方法,其特征在于:所述接口定义的数据库操作方法包括insert、deleteById、update、queryForList、queryForObject;操作方法包括sql语句的id和待操作的数据对象。
6.根据权利要求1至4任一项所述的方法,其特征在于:所述的实现类同时继承SqlMapClientDaoSupport,以获得ibatis框架支持。
7.根据权利要求5所述的方法,其特征在于:所述的实现类同时继承
SqlMapClientDaoSupport,以获得ibatis框架支持。

说明书全文

一种数据持久层的实现方法

技术领域

[0001] 本发明涉及JAVA开发技术领域,特别涉及一种数据持久层的实现方法。

背景技术

[0002] 目前,在基于ibatis持久层框架中,通常先定义业务持久层的接口,然后再实现该接口。而在该接口的实现类中,各个方法中都是借助SqlMapClientTemplate类相应方法的调用,实现数据的增、删、改、查。在实现过程中,SqlMapClientTemplate提供了insert、updata、delete、queryForList、queryForObject等方法。前述方法都需要两个重要参数,一个是sql的id,另一个是待操作的对像信息。通常情况下,程序会以硬编码的方式,将xml配置的sql语句id直接作为参数传递相应的方法,以达到方法调用的效果。
[0003] 目前的方法,虽然可以实现数据持久层的服务,但在灵活性和扩展性方面表现却很差;而且后期的框架升级,也会非常困难。
[0004] 首先,目前的持久层实现方法,都是借助SqlMapClientTemplate类实现。在具体的实现方法中,如果大面积的使用SqlMapClientTemplate,会为以后的系统升级带来非常不便。随着框架的升级换代,可能会使用其它的类代替SqlMapClientTemplate。但如果各个模的实现方法都是通过SqlMapClientTemplate去实现,届时升级时,系统则需要进行大面积的调整工作;大大降低了框架的灵活性。
[0005] 其次,在持久层具体的实现方法中,sql语句的id作为参数传递给SqlMapClientTemplate的各个方法。该id是存在一定的规律的,本可通过系统统一处理,但目前通常是以硬编码的方式实现,提高开发难度,增加开发工作。
[0006] 最后,对于持久层的具体实现类,主要通过调用SqlMapClientTemplate的insert、updata、delete、queryForList、queryForObject去实现数据的保存与读取。各个模块的实现方法基本一致,本可通过统一的实现类实现,目前每个业务却都需要一个实现类,增加开发工作量。

发明内容

[0007] 本发明解决的技术问题在于提供一种数据持久层的实现方法;基于ibatis框架基础,减少持久层的开发工作量,提交工作效率,同时为以后的系统升级提供便利。
[0008] 本发明解决上述技术问题的技术方案是:
[0009] 所述的方法包括如下步骤:
[0010] 步骤1:实现统一的持久层接口;在接口中定义数据库操作的所有方法;
[0011] 步骤2:实现持久层接口的统一实现类;所述实现类实现接口的所有方法;
[0012] 步骤3:在业务实现层,直接调用数据库基类完成数据库的操作;
[0013] 步骤4:开发业务模块的sql语句,所述语句的id与业务模块的方法一致。
[0014] 所述的方法中,数据库的具体调用都通过所述的实现类,其它业务方法调用该实现类实现数据的在线保存与读取动作。
[0015] 所述方法中,数据库操作通过线程的方式,获得调用对象的方法名;并将该方法名作为sql语句的id参数,传入具体的方法中。
[0016] 所述接口定义的数据库操作方法包括insert、deleteById、update、queryForList、queryForObject;操作方法包括sql语句的id和待操作的数据对象。
[0017] 所述的实现类同时继承SqlMapClientDaoSupport,以获得ibatis框架支持。
[0018] 采用本发明上述数据库持久化方法,因数据库持久层进行了统一的封装,业务功能模块无需进行持久层的开发,直接调用持久层基类方法即可。同时,sql的id参数,作为持久层的重要方法参数,在持久层基类中通过线程的方法获得,减少相关代码的编写,并达到统一标准。最后,当数据持久层需要进行升级换代时,系统只需要调整BasicDaoImpl的具体实现即可,大大提供系统的灵活性。附图说明
[0019] 下面结合附图对本发明进一步说明:
[0020] 图1是本发明方法的流程图

具体实施方式

[0021] 见图1所示,本发明基于ibatis框架基础的数据持久层实现方法步骤如下:
[0022] S10:定义持久层统一接口BasicDao,主要包括insert、deleteById、update、queryForList、queryForObject等数据库操作方法。前述的方法都需要两个参数,分别是sql语句的id和待操作的数据对象object。方法的返回值通过泛型实现不同的返回类型。
[0023] S20:定义持久层接口的统一实现类BasicDaoImpl。
[0024] 实现类BasicDaoImpl实现BasicDao接口,同时继承SqlMapClientDaoSupport,以获得iba tis框架 相关 方面的支持。在该实现类的具 体方法中 ,通 过SqlMapClientDaoSupport对象的insert、deleteById、update、queryForList、queryForObject方法实现数据保存与查询。在方法中,通过线程的方式,获得方法调用体的方法名:
[0025] String methodName=Thread.currentThread().getStackTrace()[2].getMethodName();
[0026] 将该方法名作为sql的id参数传入SqlMapClientDaoSupport具体的方法中。
[0027] S30:定义业务模块的业务层方法。
[0028] 例如:用户模块的业务层方法UserServiceImpl,并完成用户新增业务功能createUser。在业务层方法中,可直接调用BasicDaoImpl的具体方法。在本实施例中,直接调用其insert方法。在insert方法中通过线程获得方法调用对象的方法名,即createUser;并将createUser传入SqlMapClientDaoSupport的insert方法中。通过业务方法名的方式,可避免sql同名冲突的问题。
[0029] S40:开发sql语句。
[0030] 新增user.xml文件,user.xml文件中sql的id需与createUser的方法名一致。本实施例中,需新增insertUser的sql语句;sql具体内容为insert语句。
[0031] 本发明的数据库持久层,具体通过BasicDaoImpl及BasicDao实现,因为在ibatis框架升级时,只需要调整该类即可,其它业务模块的方法不需要做任何的调整。同时,如系统需要替换ibatis框架,也只需调整该类即可,大大提高框架的灵活性。
[0032] 此外,在调用BasicDaoImpl方法时,无需通过硬编码的方式传入sql的id信息,系统通过线程统一传入方法名即可。这可降低系统的复杂度及可维护性。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈