[发明专利]一种基于ibatis实现sql动态配置的方法及系统有效
申请号: | 201510490546.4 | 申请日: | 2015-08-11 |
公开(公告)号: | CN105138326B | 公开(公告)日: | 2019-03-22 |
发明(设计)人: | 袁诗俊 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2452 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ibatis 实现 sql 动态 配置 方法 系统 | ||
本发明涉及一种基于ibatis实现sql动态配置的方法及系统。在数据库中建立表名配置表和列配置表;接收查询请求,解析所述查询请求得到场景标识;根据场景标识在数据库中查找对应的表名配置表和列名配置表,得到查询结果;根据在数据库中获取的查询结果生成自定义对象;将调用者传入的where条件的实参封装进自定义对象中,得到键值对;运行时将所述键值对传入预先编写的ibatis配置文件中,生成sql语句。本发明将待查询的数据表名和列名等配置在数据库里,根据场景的不同动态配置查询表、查询列和查询条件,大大降低了开发人员的工作量;在要查询的表和字段发生变化时,只需要修改数据库,而不需要修改java代码和配置文件,减少了开发工作量。
技术领域
本发明涉及sql配置技术领域,尤其涉及一种基于ibatis实现sql动态配置的方法及系统。
背景技术
ibatis是一种“半自动化”的ORM实现,着力于POJO与SQL之间的映射关系。也就是说,ibatis并不会为程序员在运行期自动生成SQL执行。具体的SQL需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定的POJO中。
在某种场景下,ibatis的普通配置并不能满足项目的需求,比如查询的列如果需要通过配置来实现,即同一种场景下,不同的模块查询的列不同,如果还是通过将sql写在配置文件里,那么配置文件就要写很多种情况,大大增加开发人员的工作量,且编写配置文件工作复杂,人工编写大量配置文件,导致出错率上升,开发效率低。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于ibatis实现sql动态配置的方法及系统。
本发明解决上述技术问题的技术方案如下:一种基于ibatis实现sql动态配置的方法,包括如下步骤:
步骤1,在数据库中建立表名配置表和列配置表,所述表名配置表用于配置场景要查询的数据表的表名,所述列配置表用于配置要查询的数据表中的列;
步骤2,接收查询请求,解析所述查询请求得到场景标识;
步骤3,根据场景标识在数据库中查找对应的表名配置表和列配置表,得到查询结果;
步骤4,根据在数据库中获取的查询结果生成自定义对象;
步骤5,将调用者传入的where条件的实参封装进自定义对象中,得到键值对;
步骤6,运行时将所述键值对传入预先编写的ibatis配置文件中,生成sql语句。
本发明的有益效果是:本发明将待查询的数据表名和列名等所有需要动态实现的都配置在数据库里,只保留一个配置文件,根据场景的不同动态配置查询表、查询列和查询条件,可适用于不同场景;本发明大大降低了开发人员的工作量,避免开发人员针对不同场景编写大量配置文件的问题,进而降低了出错率,提高了开发效率;在要查询的表和字段发生变化时,只需要修改数据库,而不需要修改java代码和配置文件,减少了开发工作量。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述表名配置表存储场景标识、要查询的表名和查询列的where条件。
采用上述进一步方案的有益效果:将需要动态实现的都配置在数据库里,当这些变量需要改变时,修改数据库中的数据即可,不必修改配置文件和java代码。
进一步,所述列配置表存储场景标识、要查询的表名和要查询的表的字段名。
采用上述进一步方案的有益效果:将需要动态实现的都配置在数据库里,当这些变量需要改变时,修改数据库中的数据即可,不必修改配置文件和java代码;且将列信息单独存储在一张表中,使表名配置表和列配置表都不冗余,可提高查询速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510490546.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种食品加工用的下料装置
- 下一篇:生成应用程序的方法及系统