[发明专利]一种实现DAO接口的方法及装置有效
| 申请号: | 201410408684.9 | 申请日: | 2014-08-19 |
| 公开(公告)号: | CN105373536B | 公开(公告)日: | 2019-01-18 |
| 发明(设计)人: | 施嘉佳;姚先锋 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/445 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 dao 接口 方法 装置 | ||
本申请公开了一种实现DAO接口的方法和装置,所述方法包括:根据DAO接口,生成所述DAO接口的DAO对象;接收对所述DAO对象的方法的调用指令;根据所述调用指令,判断所述方法是否为自定义实现的方法,若是,则执行所述自定义实现的方法;若否,则通过DAO对象实现所述方法;其中,所述自定义实现的方法包括至少两个数据库操作。采用本申请提供的方法,通过约定DAO接口、方法和SQL映射中的SQL语句标识的命名规范,使得在应用程序启动阶段,能够自动生成DAO接口的DAO对象;在应用程序运行阶段,能够执行自定义实现的方法,从而达到有效减少代码量、提高开发效率的效果。
技术领域
本申请涉及数据库访问领域,具体涉及一种实现DAO接口的方法及装置。
背景技术
DAO(Data Access Object,数据访问对象)是一个数据访问接口,夹在业务逻辑与数据库资源中间,负责与数据库打交道。DAO模式是标准的J2EE设计模式之一。通过使用这个模式,把底层的数据访问操作和上层的商务逻辑分开,使得开发人员能够更加专注于编写数据访问代码。一个典型的DAO实现有下列几类组件:DAO工厂类、DAO接口、实现DAO接口的具体类及数据传递对象等。其中,DAO接口定义了数据访问的方法,实现DAO接口的具体类包含了从特定的数据源访问数据的逻辑。
在Web应用的分层体系中,iBATIS是一个基于SQL映射支持Java和·NET的持久层框架,iBATIS提供的持久层框架包括SQL Maps和DAO。由于iBATIS小巧、灵活、上手快等特点,使得越来越多的人都将它作为首选的Web应用的持久层框架。目前,在Web应用的分层体系中,DAO只做了数据库的基本操作以及类似的简单操作,其中,数据库的基本操作包括增加、读取、更改和删除(简称CRUD)。在实际开发中,实现DAO接口大量的工作就是把数据库基本操作的参数和SQL(Structured Query Language,结构化查询语言)语句传给负责数据库操作的接口对象,然后返回相应的结果。因此,在具体实现DAO接口时,需要编写大量的重复代码,大量的重复劳动造成了开发资源的浪费。
随着科学技术的发展以及应用需求的不断变化,互联网应用发生快速的变化,倾向于承受功能的增加,并且不断的集成新的功能,传统上被称为“垂直开发”,因此强烈需求提高程序开发效率。
2010年iBATIS改名为Mybatis,在Mybatis持久层框架中,引入了新的特性,支持通过DAO接口与XML(Extensible Markup Language,可扩展标记语言)映射文件的绑定,自动生成DAO接口的具体实现,从而提高了程序开发效率。然而,采用这种方法存在以下问题:
1)不支持自定义实现
该方法首先通过指定DAO方法与SQL语句之间的绑定,然后通过JDK(JavaDevelopment Kit,Java语言的软件开发工具包)代理来实现最后的SQL语句执行,但无法实现一个方法中包括多条SQL语句的执行场景。在实际的应用场景中往往有自定义的需求,比如DAO接口中有10个方法,其中有一个删除的方法需要删除多个表的数据。在这种情况下,需要全部自己实现DAO接口的10个方法,无法实现部分用代理自动实现DAO接口、部分用自定义实现的方法。
2)使用成本高
对于已经基于在iBATIS上构建的应用,则无法使用,需要整体迁移,成本较高。
综上所述,在Mybatis持久层框架中,通过DAO接口与XML映射文件的绑定,自动生成DAO接口的具体实现的现有技术存在老系统升级困难、扩展性差的问题。因而,在实际应用中,iBATIS仍然是首选的Web应用的持久层框架。
在iBATIS持久层框架中,现有技术无法自动生成DAO接口的具体实现,从而需要编写大量的重复代码,造成了开发资源的浪费。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410408684.9/2.html,转载请声明来源钻瓜专利网。





