一种自定义SQL语句的数据库查询方法及装置制造方法及图纸

技术编号:38317628 阅读:14 留言:0更新日期:2023-07-29 08:59
本发明专利技术公开了一种自定义SQL语句的数据库查询方法及装置,其中,所述方法包括:通过SQLSession对象获得全局配置对象,并获得所需的对应数据;创建执行器Executor和SQLContext对象;利用SQLContext对象创建自定义的更新MappedStatement对象,并将更新MappedStatement对象当作参数传递给执行器Executor执行;调用StatementHandler执行查询方法时,组装SQL并调用数据库客户端执行SQL查询数据;进行查询结果解析,并将解析的查询结果封装成实体对象并返回。在本发明专利技术实施例中,使用简单的几个类实现统一自定义SQL查询,高效实用。效实用。效实用。

【技术实现步骤摘要】
一种自定义SQL语句的数据库查询方法及装置


[0001]本专利技术涉及数据处理
,尤其涉及一种自定义SQL语句的数据库查询方法及装置。

技术介绍

[0002]随着Java开发技术的发展,多种java技术框架如雨后春笋般涌现。由于Mybatis的易用性等原因,Mybatis占据了中国的java持久层技术的大部分市场。Mybatis主要提供了自定义sql查询,查询映射结果转换等功能。
[0003]使用Mybatis现有的自定义sql查询功能时,每增加一个sql查询就需要在对应接口(interface)类文件中增加一个方法,然后在这个接口对应的mapper.xml文件中,写上对应的方法的sql查询语句;在日常后台开发中,这种使用方法符合开发原则,但在一些特殊场景,如单元测试,运营数据支撑查询等,需要多次写对应方法,确实比较繁琐,且无意义,增加复杂性。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的不足,本专利技术提供了一种自定义SQL语句的数据库查询方法及装置,使用简单的几个类实现统一自定义SQL查询,高效实用。
[0005]为了解决上述技术问题,本专利技术实施例提供了一种自定义SQL语句的数据库查询方法,所述方法包括:
[0006]SQLExe组件通过SQLSession对象获得全局配置Configuration对象,并基于所述全局配置Configuration对象获得所需的对应数据;
[0007]利用所需的对应数据创建执行器Executor和SQLContext对象;
[0008]利用所述SQLContext对象调用MyMappedStatement创建自定义的更新MappedStatement对象,并将所述更新MappedStatement对象当作参数传递给所述执行器Executor执行;
[0009]调用StatementHandler执行查询方法时,组装SQL并调用数据库客户端执行SQL查询数据;
[0010]在执行SQL查询数据时,调用ResultSetHandler进行查询结果解析,并将解析的查询结果封装成实体对象并返回。
[0011]可选的,所述SQLExe组件通过SQLSession获得全局配置Configuration对象,包括:
[0012]所述SQLExe组件通过SQLSession或者Spring框架封装的SqlSessionTemplate对象获得全局配置Configuration对象。
[0013]可选的,所述基于所述全局配置Configuration对象获得所需的对应数据,包括:
[0014]基于所述全局配置Configuration对象访问数据库中的数据源的方式获得所需的对应数据。
[0015]可选的,所述SQLSession对象的创建包括:
[0016]内置的DefaultSessionFactory调用openSession方法穿件数据库连接,并封装成SQLSession对象。
[0017]可选的,所述SQLSession对象通过getMapper方法在所述全局配置Configuration对象中查找创建对应mapper接口实例对象。
[0018]可选的,所述利用所述SQLContext对象调用MyMappedStatement创建自定义的更新MappedStatement对象,包括:
[0019]所述SQLContext对象调用MyMappedStatement时,通过所述全局配置Configuration对象访问数据库中的数据源,以及访问结果映射关系配置创建自定义的更新MappedStatement对象。
[0020]可选的,所述更新MappedStatement对象包含自定义的SQL,以及访问映射关系。
[0021]可选的,所述SQLContext对象由自定义SQL查询上下文以及对外统一定义的SQL查询方法的API封装而成。
[0022]可选的,所述在执行SQL查询数据时,调用ResultSetHandler进行查询结果解析,包括:
[0023]在SQL查询数据时,通过Mybatis内部的字段映射转换成对应的实体对象,获得查询结果;
[0024]调用ResultSetHandler进行查询结果解析。
[0025]另外,本专利技术实施例还提供了一种自定义SQL语句的数据库查询装置,所述装置包括:
[0026]获得模块:用于SQLExe组件通过SQLSession对象获得全局配置Configuration对象,并基于所述全局配置Configuration对象获得所需的对应数据;
[0027]创建模块:用于利用所需的对应数据创建执行器Executor和SQLContext对象;
[0028]更新模块:用于利用所述SQLContext对象调用MyMappedStatement创建自定义的更新MappedStatement对象,并将所述更新MappedStatement对象当作参数传递给所述执行器Executor执行;
[0029]查询模块:用于调用StatementHandler执行查询方法时,组装SQL并调用数据库客户端执行SQL查询数据;
[0030]封装返回模块:用于在执行SQL查询数据时,调用ResultSetHandler进行查询结果解析,并将解析的查询结果封装成实体对象并返回。
[0031]在本专利技术实施例中,无需引入额外的依赖包,使用简简单单的几个类就可以实现统一自定义sql查询,不会给现有项目增加过多复杂依赖,同时又能提高开发效率,非常实用。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0033]图1是本专利技术实施例中的自定义SQL语句的数据库查询方法的流程示意图;
[0034]图2是本专利技术实施例中的自定义SQL语句的数据库查询装置的结构组成示意图。
具体实施方式
[0035]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0036]实施例一,请参阅图1,图1是本专利技术实施例中的自定义SQL语句的数据库查询方法的流程示意图。
[0037]如图1所示,一种自定义SQL语句的数据库查询方法,所述方法包括:
[0038]S11:SQLExe组件通过SQLSession对象获得全局配置Configuration对象,并基于所述全局配置Configuration对象获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自定义SQL语句的数据库查询方法,其特征在于,所述方法包括:SQLExe组件通过SQLSession对象获得全局配置Configuration对象,并基于所述全局配置Configuration对象获得所需的对应数据;利用所需的对应数据创建执行器Executor和SQLContext对象;利用所述SQLContext对象调用MyMappedStatement创建自定义的更新MappedStatement对象,并将所述更新MappedStatement对象当作参数传递给所述执行器Executor执行;调用StatementHandler执行查询方法时,组装SQL并调用数据库客户端执行SQL查询数据;在执行SQL查询数据时,调用ResultSetHandler进行查询结果解析,并将解析的查询结果封装成实体对象并返回。2.根据权利要求1所述的数据库查询方法,其特征在于,所述SQLExe组件通过SQLSession获得全局配置Configuration对象,包括:所述SQLExe组件通过SQLSession或者Spring框架封装的SqlSessionTemplate对象获得全局配置Configuration对象。3.根据权利要求1所述的数据库查询方法,其特征在于,所述基于所述全局配置Configuration对象获得所需的对应数据,包括:基于所述全局配置Configuration对象访问数据库中的数据源的方式获得所需的对应数据。4.根据权利要求1所述的数据库查询方法,其特征在于,所述SQLSession对象的创建包括:内置的DefaultSessionFactory调用openSession方法穿件数据库连接,并封装成SQLSession对象。5.根据权利要求1所述的数据库查询方法,其特征在于,所述SQLSession对象通过getMapper方法在所述全局配置Configuration对象中查找创建对应mapper接口实例对象。6.根据权利要求1所述的数据库查询方法,其特征在于,所述利用所述SQL...

【专利技术属性】
技术研发人员:邱副添
申请(专利权)人:蜂助手股份有限公司
类型:发明
国别省市:

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

1