[发明专利]一种基于ibatis的SQL脚本动态加载方法无效
申请号: | 201110377412.3 | 申请日: | 2011-11-24 |
公开(公告)号: | CN102521274A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 杨飞 | 申请(专利权)人: | 上海明想电子科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 俞宗耀 |
地址: | 201611 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ibatis sql 脚本 动态 加载 方法 | ||
技术领域
本发明涉及一种SQL脚本动态加载方法,尤其涉及一种基于ibatis的SQL脚本动态加载方法。
背景技术
目前Java领域的数据库访问方式,使用比较广主要是hibernate和iBATIS了,两者都是属于开源软件。iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。所谓“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化” ORM 实现而言,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动 生成和执行。而ibatis 的着力点,则在于POJO 与 SQL之间的映射关系。也就是说,ibatis 并不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。
但目前iBATIS的使用方式比较适合瀑布式开发,不太符合目前的模块化开发思路。图1为现有基于ibatis的SQL脚本动态加载过程示意图,请参见图1,在一个统一的sqlConfig文件中配置上所有该系统所需要访问的sql脚本文件,在应用启动过程中就将这些脚本加载到缓存中。在用户需要访问数据库时,直接从缓存中获取对应的脚本,如果不存在直接报错。iBATIS有以下几个缺点:
(1) 必须有唯一一个sqlmapConfig配置文件,里面配置上所有需要访问数据库的sqlmap文件,集中式管理和模块化开发有冲突;
(2) 在项目开发中,多人共同去维护这一份sqlmapConfig文件,代码提交容易引起冲突;
(3) 如果是配置多个数据库,那就意味着需要配置多份sqlmapConfig,其他配置项也同样需要多份,配置文件冗余;
(4) 不能自动识别不同数据库,加载对应数据库类型的sqlmap文件。
因此有必要对现有的基于ibatis的SQL脚本动态加载方法进行改进,能够自动识别不同数据库并加载对应数据库的脚本配置文件,从而实现模块化开发。
发明内容
本发明所要解决的技术问题是提供一种基于ibatis的SQL脚本动态加载方法,能够识别不同sql配置文件并自动加载对应的脚本配置文件,从而实现模块化开发。
本发明为解决上述技术问题而采用的技术方案是提供一种基于ibatis的SQL脚本动态加载方法,包括如下步骤:a) 配置多个独立的sql配置文件,统一设置所有sql配置文件的缓存区;b) 脚本调用方在查找sql信息的时候,先去缓存区里面读取sql脚本配置信息,如果存在,启动程序自动加载相应的sql配置文件到缓存区,否则抛出异常,提示出错,并查找匹配的sql配置文件更新缓存区;c) 加载后将该文件信息从sql配置文件中去除;d) 最后从缓存区中读取对应的sql脚本信息返回给调用方。
上述的基于ibatis的SQL脚本动态加载方法,其中,所述步骤b)采用遍历的方法进行搜索匹配并加载相应的sql配置文件到缓存区。
上述的基于ibatis的SQL脚本动态加载方法,其中,所述多个不同的sql配置文件分散设置在各自的功能模块中。
上述的基于ibatis的SQL脚本动态加载方法,其中,不同类型的数据库采用不同的sql配置文件。
上述的基于ibatis的SQL脚本动态加载方法,其中,所述不同类型的数据库包括Oracle、Mysql和Sql Server数据库。
本发明对比现有技术有如下的有益效果:本发明提供的基于ibatis的SQL脚本动态加载方法,通过配置多个独立的sql配置文件,省去了总控sql配置文件,易于管理和实现模块化开发;此外,本发明的SQL脚本动态加载方法根据需要加载相应的配置文件,从而提升了系统性能。
附图说明
图1为现有基于ibatis的SQL脚本动态加载过程示意图;
图2为本发明基于ibatis的SQL脚本动态加载过程示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海明想电子科技有限公司,未经上海明想电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110377412.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种液压挖掘机动臂后支承结构
- 下一篇:电机过载保护装置