一种基于IBATIS的快速检索方法技术

技术编号:13157422 阅读:50 留言:0更新日期:2016-05-09 19:44
本发明专利技术涉及JAVA技术开发领域,具体涉及一种基于IBATIS的快速检索方法。本发明专利技术首先建立与表相对应的对象,并通过联合查询的方式查询相应的数据;而结果集通过ResultMap的方式返回;ResultMap完成返回值与对象的对应关系,并通过groupBy属性实现对结果的分类封装;实现通过一条查询语句,对一对多业务的查询与封装。本发明专利技术通过优化ibatis的查询结构与返回值结构,解决了查询效率低的问题;可以用于基于IBATIS的快速检索。

【技术实现步骤摘要】

本专利技术涉及JAVA技术开发领域,具体涉及一种基于IBATIS的快速检索方法
技术介绍
目前,在JAVA的研发过程中,IBATIS是持久层的常用框架。IBATIS提供了较为完整的封装方法,而且基于XML的自动的SQL语句,可以方便满足各种业务需求和跨平台需求。但在使用IBATIS处理一对多的业务查询时,通常会出现N+1问题。即如果查询一个教师,并查询该教师所带的学生时,IBATIS首先会通过一条SQL语句查询符合条件的教师,再循环教师列表,分别查询该教师所带的学生。如果有8个教师,则需要查询9次。这样将大大降低平台的性能,甚至无法满足平台高并发的需求。
技术实现思路
本专利技术解决的技术问题在于提供一种基于IBATIS的快速检索方法,以解决N+1问题。本专利技术解决上述技术问题的技术方案是:首先建立与表相对应的对象,并通过联合查询的方式查询相应的数据;而结果集通过ResultMap的方式返回;ResultMap完成返回值与对象的对应关系,并通过groupBy属性实现对结果的分类封装;实现通过一条查询语句,对一对多业务的查询与封装。所述的方法包括如下步骤:第I步、建立对象A,并包含主要的属性,其中包括关键的id属性;第2步、建立对象B,包含其所有属性;其中在B中,建立A的List集合对象;第3步、确立与B对应的表Tb,并确定属性id为主键;第4步、确立与A对应的表Ta,在表中建立与Tb的id相关联的属性tbid属性;第5步、在IBATIS属性文件中,建立ResultMap类型的返回值result,其中通过property确定返回值与对象A、B的对应关系;第6步、在result返回值,通过groupBy属性确定数据的分类统计方法,其中groupBy = id; 第7步、关联查询表Ta与Tb,并通过Tb.1d = Ta.tb—id关联查询,并使用result返回结果。本专利技术的有益效果是:通过这种查询与封装方法,可以通过一条SQL语句实现数据的查询与封装,这样将大大减少系统的1操作,提高平台的执行效率;而且这种方式,配置非常简洁,通过XML即可完成相应的对应关系,减少代码编译工作,减少相应的风险。【附图说明】下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图。【具体实施方式】下面具体以教育云共享平台为例,详细讲解该专利技术的详细过程。教育云共享存在教师、科组等信息,其中每一个教育都属于某一个科组,以下通过查询所有科组和科组下的教育。如附图1所示;包括如下步骤:第I步、建立对象Teacher,其中包括id、name属性; 第2步、建立对象Subject,其中包括id、name和集合List属性;第3步、确立表t_sub ject,其中包括id和name字段;第4步、建立,其中包括id、name、subject_id属性;第5步、在IBATIS属性文件中,建立ResultMap类型的返回值result,确之下groupBy = i d;并确定数据加返回值与对象的关联关系第6步、通过集合查Wt_subject和t_teacher表,并把返回值返回为result。【主权项】1.一种基于IBATIS的快速检索方法,其特征在于:首先建立与表相对应的对象,并通过联合查询的方式查询相应的数据;而结果集通过ResultMap的方式返回;ResultMap完成返回值与对象的对应关系,并通过groupBy属性实现对结果的分类封装;实现通过一条查询语句,对一对多业务的查询与封装。2.根据权利要求1所述的基于IBATIS快速检索方法,其特征在于:所述的方法包括如下步骤: 第I步、建立对象A,并包含主要的属性,其中包括关键的id属性; 第2步、建立对象B,包含其所有属性;其中在B中,建立A的Li st集合对象; 第3步、确立与B对应的表Tb,并确定属性id为主键; 第4步、确立与A对应的表Ta,在表中建立与Tb的id相关联的属性tb_id属性; 第5步、在IBATIS属性文件中,建立ResultMap类型的返回值result,其中通过property确定返回值与对象A、B的对应关系; 第6步、在result返回值,通过groupBy属性确定数据的分类统计方法,其中groupBy =id; 第7步、关联查询表Ta与Tb,并通过Tb.1d = Ta.tb_id关联查询,并使用result返回结果O【专利摘要】本专利技术涉及JAVA技术开发领域,具体涉及一种基于IBATIS的快速检索方法。本专利技术首先建立与表相对应的对象,并通过联合查询的方式查询相应的数据;而结果集通过ResultMap的方式返回;ResultMap完成返回值与对象的对应关系,并通过groupBy属性实现对结果的分类封装;实现通过一条查询语句,对一对多业务的查询与封装。本专利技术通过优化ibatis的查询结构与返回值结构,解决了查询效率低的问题;可以用于基于IBATIS的快速检索。【IPC分类】G06F17/30【公开号】CN105550261【申请号】CN201510903659【专利技术人】关班记, 季统凯 【申请人】国云科技股份有限公司【公开日】2016年5月4日【申请日】2015年12月9日本文档来自技高网...

【技术保护点】
一种基于IBATIS的快速检索方法,其特征在于:首先建立与表相对应的对象,并通过联合查询的方式查询相应的数据;而结果集通过ResultMap的方式返回;ResultMap完成返回值与对象的对应关系,并通过groupBy属性实现对结果的分类封装;实现通过一条查询语句,对一对多业务的查询与封装。

【技术特征摘要】

【专利技术属性】
技术研发人员:关班记季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

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

1