一种mybatis命名空间映射的方法技术

技术编号:11239238 阅读:101 留言:0更新日期:2015-04-01 12:42
本发明专利技术公开了一种mybatis命名空间映射的方法,将sqlmapper文件中命名空间和配置文件提供的映射名前缀进行匹配。在解析命名空间时,判断命名空间是否是完整名,若是这不需进行映射,若不是则加上前缀进行映射。这样在项目移植过程中,只需要修改配置文件的映射名前缀,在不修改SQLMapper文件命名空间的情况下,可以完成不同包前缀的接口文件的映射和调用,有效降低项目本地化实施和移植的成本,提高开发效率。

【技术实现步骤摘要】

本专利技术涉及数据库开发
,尤其是一种框架命名空间映射的方法。
技术介绍
在当今的管理信息系统数据库开发中,数据访问持久层ORM框架(如mybatis,hibernate)使用越来越多。ORM框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。只要提供了持久化类与数据库的映射文件,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。在mybatis中,开发者需要提供持久化类和sqlmapper映射文件。在通过接口方式调用方式下,要求sqlmapper文件中命名空间和接口全限定名对应。在调用接口的时候,可以通过反射技术查找到对应命名空间下的SQL语句statmentid。在项目移植或本地化实施过程中,接口的包名常常需要变化,这会导致需要修改大量的sqlmapper文件的命名空间。mybatis提供了接口映射方式的调用,给开发者带来了方便。但要求SQLMapper文件中namespace必须设定和接口的完全限定名一致。项目在本地化实施过程中,需要把包路径设定为指定的值。这样大量的SQLMapper文件中namespace可能需要修改,相关的调用也需要修改。移植系统应用成本相对较高,效率也低。故,需要一种新的技术方案以解决上述问题。
技术实现思路
本专利技术的目的是针对现有技术存在的不足,提供一种mybatis命名空间映射的方法,不修改sqlmapper命名空间的情况下,通过修改包前缀的完成和接口完全限定名的映射。为实现上述专利技术目的,本专利技术可采用如下技术方案:一种mybatis命名空间映射的方法,包括以下步骤:(a)、首先在框架配置文件中注册提供命名空间的前缀,使用配置属性propertie来注册,属性propertie中包含注册映射的类型和值;(b)、框架启动加载时会根据已注册的propertie信息分析到短名前缀的相关信息,并完成短名和解析到的所有命名空间值的映射;框架首先解析sql映射文件的命名空间,根据正则判断是否是完全限定名,如果不是,则根据短名前缀进行映射;(c)、如果命名空间已为完全限定名则取得该命名空间并添加至缓存区,如果不是,则读取短名前缀并和命名空间进行组合映射成完全限定名并添加至缓冲区;(d)、当用户调用接口时,通过反射获取接口完全限定名,并到缓存区查找对应的sql映射,最终完成sql语句的调用。本专利技术所公开的命名空间映射方法,是基于正则方法实现的。将sqlmapper文件中命名空间和配置文件提供的映射名前缀进行匹配。在解析命名空间时,判断命名空间是否是完整名,若是这不需进行映射,若不是则加上前缀进行映射。这样在项目移植过程中,只需要修改配置文件的映射名前缀。在不修改SQLMapper文件命名空间的情况下,可以完成不同包前缀的接口文件的映射和调用,有效降低项目本地化实施和移植的成本,提高开发效率。具体实施方式以下将详细描述本以明的较佳的实施例。本专利技术的短名映射采用java开发,配置文件主要属性为propertie,该属性用来注册短名配置信息,主要实现以下内容:配置信息名称,该名称在框架中保持唯一配置信息的值,可以是具体的值,也可以是正则表达式的值为了使用注册信息更规范,本专利技术的mybatis命名空间短名映射采用键值对注册信息(当然技术上不限于使用键值对),所以propertie属性一般描述如:本专利技术将公开一个mybatis命名空间映射的方法,在不修改SQLMapper文件命名空间的情况下,可以完成不同包前缀的接口文件的映射和调用,有效降低项目本地化实施和移植的成本,提高开发效率。本专利技术所公开的命名空间映射方法,是基于正则方法实现的。将sqlmapper文件中命名空间和配置文件提供的映射名前缀进行匹配。在解析命名空间时,判断命名空间是否是完整名,若是这不需进行映射,若不是则加上前缀进行映射。这样在项目移植过程中,只需要修改配置文件的映射名前缀。本文档来自技高网...

【技术保护点】
一种mybatis命名空间映射的方法,其特征在于,包括以下步骤:(a)、首先在框架配置文件中注册提供命名空间的前缀,使用配置属性propertie来注册,属性propertie中包含注册映射的类型和值;(b)、框架启动加载时会根据已注册的propertie信息分析到短名前缀的相关信息,并完成短名和解析到的所有命名空间值的映射;框架首先解析sql映射文件的命名空间,根据正则判断是否是完全限定名,如果不是,则根据短名前缀进行映射;(c)、如果命名空间已为完全限定名则取得该命名空间并添加至缓存区,如果不是,则读取短名前缀并和命名空间进行组合映射成完全限定名并添加至缓冲区;(d)、当用户调用接口时,通过反射获取接口完全限定名,并到缓存区查找对应的sql映射,最终完成sql语句的调用。

【技术特征摘要】
1.一种mybatis命名空间映射的方法,其特征在于,包括以下步骤:
(a)、首先在框架配置文件中注册提供命名空间的前缀,使用配置属性
propertie来注册,属性propertie中包含注册映射的类型和值;
(b)、框架启动加载时会根据已注册的propertie信息分析到短名前缀的相
关信息,并完成短名和解析到的所有命名空间值的映射;框架首先解析sql映射

【专利技术属性】
技术研发人员:苏祖辉支兵
申请(专利权)人:南京莱斯信息技术股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1