CN106020847A - 一种持久层开发框架配置sql的方法和装置 - Google Patents

一种持久层开发框架配置sql的方法和装置 Download PDF

Info

Publication number
CN106020847A
CN106020847A CN201610392727.8A CN201610392727A CN106020847A CN 106020847 A CN106020847 A CN 106020847A CN 201610392727 A CN201610392727 A CN 201610392727A CN 106020847 A CN106020847 A CN 106020847A
Authority
CN
China
Prior art keywords
sql
sql object
caching
statement
configuration file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610392727.8A
Other languages
English (en)
Inventor
陈克林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610392727.8A priority Critical patent/CN106020847A/zh
Publication of CN106020847A publication Critical patent/CN106020847A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种持久层开发框架配置SQL的方法和装置,能够降低开发框架的复杂度,大大提高项目的开发效率,节约开发成本,同时降低了维护成本。本发明的持久层开发框架配置SQL的方法包括:接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;根据所述SQL对象标识获取SQL对象;根据所述SQL对象构造可执行SQL对象;将构造的所述可执行SQL对象返回所述客户端。

Description

一种持久层开发框架配置SQL的方法和装置
技术领域
本发明涉及计算机和计算机软件技术领域,特别地涉及一种持久层开发框架配置SQL的方法和装置。
背景技术
目前,数据库开发人员在编写数据库应用程序时,使用较多的开源持久层开发框架例如Hibernate或Mybatis等。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以使用对象编程思维来操纵数据库。其优点是Hibernate作为数据持久层框架,在进行一些简单对象的增、删、查、改数据库操作时非常便利,但缺点是没有强大的动态SQL配置功能,例如根据运行时条件生成动态的SQL。
Mybatis是一个基于SQL映射支持Java和.NET的持久层框架,拥有灵活的SQL配置功能,但是配置过于复杂,简单的数据库操作也没有Hibernate简单。例如:MyBatis中,当查询条件过多时,SQL配置异常复杂,回出现大量的逻辑判断,如下面列出的代码中所有的if部分:
同样,MyBatis中返回值类型(resultMap)也需要在配置文件中进行设置,且设置过于复杂,如下:
由上述可以看出,MyBatis在简单数据库操作时过于复杂,SQL动态生产不够简洁,具体缺点主要如下:
1、现有技术方案MyBatis为每个业务实体的增删查改SQL操作都写一堆SQL配置文件,工作量巨大,且需运行时要为每个SQL设置判断条件,当条件较多时较为繁琐;
2、查询结果的返回值需逐项设置映射关系,较为复杂,开发效率低;
3、不支持SQL中设置变量,不能灵活解决运行时切换SQL需求,如分表操作;
4、不支持开发环境配置更新后动态加载,需要频繁重启服务器,浪费时间。
综上可知,基于对象关系映射框架Hibernate和基于SQL映射框架的持久层框架MyBatis都有各自的优缺点,不能够很好的满足实际开发的需要,在开发效率和配置灵活性方面都需要提升。
发明内容
有鉴于此,本发明提供一种持久层开发框架配置SQL的方法和装置,能够降低开发框架的复杂度,大大提高项目的开发效率,节约开发成本,同时降低了维护成本。
为实现上述目的,根据本发明的一个方面,提供了一种持久层开发框架配置SQL的方法。
一种持久层开发框架配置SQL的方法,包括:接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;根据所述SQL对象标识获取SQL对象;根据所述SQL对象构造可执行SQL对象;将构造的所述可执行SQL对象返回所述客户端。
可选地,所述请求还包括:SQL参数和SQL变量集合。
可选地,获取SQL对象包括:尝试从缓存中查找所述SQL对象,若所述缓存中存在所述SQL对象,则从该缓存读取所述SQL对象,否则,加载并解析SQL配置文件,以获取SQL对象集合,并将所述SQL对象集合中包含的SQL对象同步至所述缓存中,然后从所述缓存中获取所述SQL对象。
可选地,所述SQL配置文件包括:SQL语句的类型、SQL对象对应的SQL文件及SQL语句。
可选地,所述SQL语句的类型包括SQL语句和HQL语句。
可选地,还包括:获取所述SQL对象后,检查对应的SQL配置文件的时间戳是否更新,如果已更新,则重新加载并解析更新后的SQL配置文件,然后将解析得到的SQL对象更新至所述缓存中。
可选地,据所述SQL对象构造可执行SQL对象包括:循环处理所述SQL对象中存在的所有变量,将变量赋值为运行时的实际值;以及剔除条件值为空的过滤条件。
根据本发明的另一方面,提供了一种持久层开发框架配置SQL的装置。
一种持久层开发框架配置SQL的装置,包括:请求接收模块,用于接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;对象获取模块,用于根据所述SQL对象标识获取SQL对象;对象构造模块,用于根据所述SQL对象构造可执行SQL对象;结果返回模块,用于将构造的所述可执行SQL对象返回所述客户端。
可选地,所述请求还包括:SQL参数和SQL变量集合。
可选地,所述对象获取模块还用于:尝试从缓存中查找所述SQL对象,若所述缓存中存在所述SQL对象,则从该缓存读取所述SQL对象,否则,加载并解析SQL配置文件,以获取SQL对象集合,并将所述SQL对象集合中包含的SQL对象同步至所述缓存中,然后从所述缓存中获取所述SQL对象。
可选地,所述SQL配置文件包括:SQL语句的类型、SQL对象对应的SQL文件及SQL语句。
可选地,所述SQL语句的类型包括SQL语句和HQL语句。
可选地,还包括缓存更新模块,用于:获取所述SQL对象后,检查对应的SQL配置文件的时间戳是否更新,如果已更新,则重新加载并解析更新后的SQL配置文件,然后将解析得到的SQL对象更新至所述缓存中。
可选地,所述对象构造模块还用于:循环处理所述SQL对象中存在的所有变量,将变量赋值为运行时的实际值;以及剔除条件值为空的过滤条件。
根据本发明的又一方面,提供了一种持久层开发框架配置SQL的装置。
一种持久层开发框架配置SQL的装置,包括:存储器和处理器,其中,所述存储器存储指令;所述处理器执行所述指令用于:接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;根据所述SQL对象标识获取SQL对象;根据所述SQL对象构造可执行SQL对象;将构造的所述可执行SQL对象返回所述客户端。
根据本发明的技术方案,通过根据SQL配置文件对业务请求进行动态解析,并构造可执行的SQL对象,可实现将复杂业务场景的数据操作请求进行灵活配置,可简化动态的SQL配置,在开发环境下可以动态加载更新,从而降低了开发工作量,节约了开发时间,提高了开发效率,同时降低了维护成本。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的持久层开发框架配置SQL的方法的主要步骤示意图;
图2是本发明实施例的系统架构图;
图3是本发明实施例的执行流程图;
图4是根据本发明一个实施例的持久层开发框架配置SQL的装置的主要模块示意图;
图5是根据本发明另一实施例的持久层开发框架配置SQL的装置的主要模块示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
针对现有技术中Hibernate和MyBatis的缺点,本发明在Hibernate的基础上,保留了Hibernate对简单增删查改操作的便利,增加了灵活高效的SQL配置方案来简化SQL配置,支持复杂业务场景数据操作,开发环境动态加载更新,从而可降低开发工作量,节约开发时间,提高开发效率。根据不同的使用场景,其主要优点表现在:
1、简化动态SQL配置,降低复杂度和学习曲线;
2、支持SQL中设置变量值,动态替换,灵活支持大数据量分表等复杂业务操作;
3、去除返回值复杂配置,根据运行时指定返回参数,动态装箱;
4、支持开发环境频繁修改配置文件时动态加载,提高开发效率。
下面是本发明技术方案的详细内容。
图1是根据本发明实施例的持久层开发框架配置SQL的方法的主要步骤示意图。如图1所示,本发明的持久层开发框架配置SQL的方法主要包括如下的步骤S11至步骤S14。
步骤S11:接收客户端发来的获取可执行SQL对象的请求,该请求包括SQL对象标识;
步骤S12:根据SQL对象标识获取SQL对象;
步骤S13:根据SQL对象构造可执行SQL对象;
步骤S14:将构造的可执行SQL对象返回客户端。
本发明中,所述请求还可以包括:SQL参数和SQL变量集合。
根据本发明实施例的技术方案,步骤S12中获取SQL对象具体可以包括:尝试从缓存中查找所述SQL对象,若所述缓存中存在所述SQL对象,则从该缓存读取所述SQL对象,否则,加载并解析SQL配置文件,以获取SQL对象集合,并将所述SQL对象集合中包含的SQL对象同步至所述缓存中,然后从所述缓存中获取所述SQL对象。
其中,所述SQL配置文件包括:SQL语句的类型、SQL对象对应的SQL文件及SQL语句。并且,所述SQL语句的类型包括SQL语句和HQL语句。
另外,本发明的持久层开发框架配置SQL的方法还可以包括:获取所述SQL对象后,检查对应的SQL配置文件的时间戳是否更新,如果已更新,则重新加载并解析更新后的SQL配置文件,然后将解析得到的SQL对象更新至所述缓存中。
在步骤S13中,根据所述SQL对象构造可执行SQL对象具体可以包括:循环处理所述SQL对象中存在的所有变量,将变量赋值为运行时的实际值;以及剔除条件值为空的过滤条件。
图2是本发明实施例的系统架构图。如图2所示,MVC模型中的控制器controller负责解析用户的输入信息,并将之变换处理后传入通用数据访问组件Service,业务逻辑服务层(Service)在处理完业务逻辑后,访问数据库DB的所有操作交由CommonDao执行即可。CommonDao类作为数据库基类,里面封装有通用的方法,如增、删、改、查、分页等。
如图2所示,本发明的持久层开发框架配置SQL的系统的静态组件主要包括SQL管理器、SQL可执行对象构造器、配置文件管理器、配置文件解析器和SQL对象。
其中,SQL管理器主要用于根据SQL语句标识SQL ID以获取可执行的SQL对象,并将配置文件解析器解析后得到的SQL对象集合缓存。
SQL可执行对象构造器用于动态解析SQL对象,以构造可执行的SQL对象,例如可通过替换SQL对象中的变量、剔除不合法的查询条件等操作,最终得到可执行的SQL对象。SQL可执行对象可包括SQL语句、SQL语句的参数、以及执行结果的自动装配等。
配置文件管理器用于查找匹配所有的SQL配置文件。
配置文件解析器用于根据SQL配置文件,解析出所有的SQL对象。
SQL对象是配置文件中具有唯一标识的SQL语句,包含SQL语句的类型(本发明可支持SQL语句和HQL语句)、SQL对象对应的SQL文件和SQL语句。
下面将结合图3介绍本发明的持久层开发框架配置SQL的系统的执行过程。
图3是本发明实施例的执行流程图。如图3所示,客户端发送请求给SQL管理器,该请求中包含SQL语句的标识SQL ID、指定的SQL参数及SQL变量集合(可选参数),以请求获取可执行SQL对象(步骤S31)。其中,指定的SQL ID、SQL参数及SQL变量集合可参见后面的不同使用场景中所涉及的内容。
SQL管理器接收到客户端发来的请求后,将执行从缓存中读取SQL对象(步骤S32)。在执行该步骤时,将根据缓存中是否存在需要的缓存对象的不同情况分别处理。若缓存中存在SQL对象,则直接读取(步骤S321)即可;若缓存中不存在SQL对象(可包括两种情况:一是系统第一次启动,缓存还没有初始化;二是缓存中没有需要的SQL对象),则执行以下步骤(步骤S322):
步骤S3221:SQL管理器请求重新加载SQL配置文件;
步骤S3222:配置文件管理器返回SQL配置文件集合;
步骤S3223:SQL管理器调用配置文件解析器来解析SQL配置文件;
步骤S3224:配置文件解析器返回SQL对象集合,所述SQL对象集合是由SQL配置文件解析得到的;
步骤S3225:SQL管理器将SQL对象同步至缓存,并从缓存中获取需要的SQL对象。
从缓存中获取到需要的SQL对象后,若在开发模式下,则检查对应的SQL配置文件的时间戳(SQL配置文件的最后更新时间)是否更新。若SQL对应的配置文件更新,则重复执行步骤S32(步骤S33),亦即,需要重新加载并解析SQL配置文件,并将解析后的SQL对象更新至缓存,然后获取需要的SQL对象。另外,若本发明的程序运行于生产环境,则只需在系统启动时加载一次配置文件即可。
之后,根据从缓存中获取的SQL对象构造可执行的SQL对象。SQL管理器通过调用可执行对象构造器,请求构造可执行SQL对象(步骤S34)。
可执行对象构造器根据SQL管理器的请求,执行SQL对象处理(步骤S35),主要处理过程例如可以包括:循环处理SQL中所有存在的变量,包括嵌套变量等,将变量处理成运行时的实际值,也就是变量参数赋值;以及,剔除条件值为空的过滤条件,等等。对SQL对象处理完成后,将返回可执行SQL对象给SQL管理器(步骤S36)。
最后,SQL管理器返回可执行SQL对象给客户端(步骤S37)。
根据如上所述的步骤S31至步骤S37,即可实现灵活、动态地配置SQL。使用SQL动态配置,可以大大降低SQL配置的复杂度,简化开发代码,提高开发效率,下面具体以查询、更新和删除等几种常用场景为例介绍本发明的实施过程。
场景一:普通查询场景
查询SQL可配置如下:
上面代码中的查询条件部分,与现有技术相比,减少了约2/3的代码量,另外,本发明中也不需要为每个查询返回结果进行配置(减少了16行),直接在程序运行时指定返回类型(如下面代码中的“AttendanceTimeSetting.class”)即可,Java代码可示例如下:
其中,“get_user_menu”为SQL ID,“paras”为指定的SQL参数。
场景二:更新和删除场景
更新、删除操作的配置方法与普通查询方法相似,只要配置好Update或Delete SQL,传入相应参数即可,Java代码可示例如下:
Sql代码中的配置如下:
其中,“delete_sysacl_by_funcid”为SQL ID,“paras”为指定的SQL参数。
场景三:In集合场景
在数据库查询时经常会使用到in的情况,使用in时,Java传递的参数必须为对象数组或集合Collection。
Java代码可参考如下:
其中,orgArray为字符串数组String[]。
SQL配置可参考如下:
其中,“delete_userorg_by_userAndOrgs”为SQL ID,“paras”为指定的SQL参数。
场景四:SQL变量场景
在开发过程中,可能需要根据不同的条件,使用不同的SQL结构的情况。
如当数据量较大时,往期数据存储历史表,当月数据存储在当前表,业务操作时根据条件可能需要查询历史表或当前表,则此时可以使用变量处理,可参考SQL配置如下:
其中,${format}和${orderType}为变量。
Java代码可参考如下:
其中,“delete_userorg_by_userAndOrgs”为SQL ID,“paras”为指定的SQL参数,“varParas”是SQL变量集合。
此示例可支持大数据量的分表操作,例如:按照12个月将数据分割,根据月份查询不同的数据库表,以提高业务处理性能。
由以上几种使用场景的Java代码和SQL配置可以看出,通过动态配置SQL,可以大大降低SQL配置的复杂度,简化开发代码,从而提高了开发和运行效率。
图4是根据本发明一个实施例的持久层开发框架配置SQL的装置的主要模块示意图。如图4所示,本发明的持久层开发框架配置SQL的装置40主要包括请求接收模块41、对象获取模块42、对象构造模块43和结果返回模块44。
请求接收模块41用于接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;对象获取模块42用于根据所述SQL对象标识获取SQL对象;对象构造模块43用于根据所述SQL对象构造可执行SQL对象;结果返回模块44用于将构造的所述可执行SQL对象返回所述客户端。
其中,所述请求还包括:SQL参数和SQL变量集合。
对象获取模块42还可以用于尝试从缓存中查找所述SQL对象,若所述缓存中存在所述SQL对象,则从该缓存读取所述SQL对象,否则,加载并解析SQL配置文件,以获取SQL对象集合,并将所述SQL对象集合中包含的SQL对象同步至所述缓存中,然后从所述缓存中获取所述SQL对象。
其中,所述SQL配置文件包括:SQL语句的类型、SQL对象对应的SQL文件及SQL语句。并且,所述SQL语句的类型包括SQL语句和HQL语句。
另外,本发明的持久层开发框架配置SQL的装置40还可以包括缓存更新模块,用于获取所述SQL对象后,检查对应的SQL配置文件的时间戳是否更新,如果已更新,则重新加载并解析更新后的SQL配置文件,然后将解析得到的SQL对象更新至所述缓存中。
对象构造模块43还可以用于循环处理所述SQL对象中存在的所有变量,将变量赋值为运行时的实际值;以及剔除条件值为空的过滤条件。
图5是根据本发明另一实施例的持久层开发框架配置SQL的装置的主要模块示意图。如图5所示,本发明的持久层开发框架配置SQL的装置50主要包括存储器51和处理器52。
其中,存储器51存储指令;处理器52执行所述指令用于:接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;根据所述SQL对象标识获取SQL对象;根据所述SQL对象构造可执行SQL对象;将构造的所述可执行SQL对象返回所述客户端。
根据本发明实施例的技术方案,通过根据SQL配置文件对业务请求进行动态解析,并构造可执行的SQL对象,可实现将复杂业务场景的数据操作请求进行灵活配置,可简化动态的SQL配置,在开发环境下可以动态加载更新,从而降低了开发工作量,节约了开发时间,提高了开发效率,同时降低了维护成本。
根据不同的使用场景,本发明技术方案的有益效果主要体现在:
1、简化动态SQL配置,降低复杂度和学习曲线;
2、支持SQL中设置变量值,动态替换,灵活支持大数据量分表等复杂业务操作;
3、去除返回值复杂配置,根据运行时指定返回参数,动态装箱;
4、支持开发环境频繁修改配置文件时动态加载,无需重启服务器,节约开发时间,提高开发效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (15)

1.一种持久层开发框架配置SQL的方法,其特征在于,包括:
接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;
根据所述SQL对象标识获取SQL对象;
根据所述SQL对象构造可执行SQL对象;
将构造的所述可执行SQL对象返回所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述请求还包括:SQL参数和SQL变量集合。
3.根据权利要求1所述的方法,其特征在于,获取SQL对象包括:
尝试从缓存中查找所述SQL对象,
若所述缓存中存在所述SQL对象,则从该缓存读取所述SQL对象,
否则,加载并解析SQL配置文件,以获取SQL对象集合,并将所述SQL对象集合中包含的SQL对象同步至所述缓存中,然后从所述缓存中获取所述SQL对象。
4.根据权利要求3所述的方法,其特征在于,所述SQL配置文件包括:
SQL语句的类型、SQL对象对应的SQL文件及SQL语句。
5.根据权利要求4所述的方法,其特征在于,所述SQL语句的类型包括SQL语句和HQL语句。
6.根据权利要求3所述的方法,其特征在于,还包括:
获取所述SQL对象后,检查对应的SQL配置文件的时间戳是否更新,如果已更新,则重新加载并解析更新后的SQL配置文件,然后将解析得到的SQL对象更新至所述缓存中。
7.根据权利要求1所述的方法,其特征在于,根据所述SQL对象构造可执行SQL对象包括:
循环处理所述SQL对象中存在的所有变量,将变量赋值为运行时的实际值;以及
剔除条件值为空的过滤条件。
8.一种持久层开发框架配置SQL的装置,其特征在于,包括:
请求接收模块,用于接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;
对象获取模块,用于根据所述SQL对象标识获取SQL对象;
对象构造模块,用于根据所述SQL对象构造可执行SQL对象;
结果返回模块,用于将构造的所述可执行SQL对象返回所述客户端。
9.根据权利要求8所述的装置,其特征在于,所述请求还包括:SQL参数和SQL变量集合。
10.根据权利要求8所述的装置,其特征在于,所述对象获取模块还用于:
尝试从缓存中查找所述SQL对象,
若所述缓存中存在所述SQL对象,则从该缓存读取所述SQL对象,
否则,加载并解析SQL配置文件,以获取SQL对象集合,并将所述SQL对象集合中包含的SQL对象同步至所述缓存中,然后从所述缓存中获取所述SQL对象。
11.根据权利要求10所述的装置,其特征在于,所述SQL配置文件包括:
SQL语句的类型、SQL对象对应的SQL文件及SQL语句。
12.根据权利要求11所述的装置,其特征在于,所述SQL语句的类型包括SQL语句和HQL语句。
13.根据权利要求10所述的装置,其特征在于,还包括缓存更新模块,用于:
获取所述SQL对象后,检查对应的SQL配置文件的时间戳是否更新,如果已更新,则重新加载并解析更新后的SQL配置文件,然后将解析得到的SQL对象更新至所述缓存中。
14.根据权利要求8所述的装置,其特征在于,所述对象构造模块还用于:
循环处理所述SQL对象中存在的所有变量,将变量赋值为运行时的实际值;以及
剔除条件值为空的过滤条件。
15.一种持久层开发框架配置SQL的装置,其特征在于,包括:
存储器和处理器,其中,
所述存储器存储指令;
所述处理器执行所述指令用于:
接收客户端发来的获取可执行SQL对象的请求,所述请求包括SQL对象标识;
根据所述SQL对象标识获取SQL对象;
根据所述SQL对象构造可执行SQL对象;
将构造的所述可执行SQL对象返回所述客户端。
CN201610392727.8A 2016-06-06 2016-06-06 一种持久层开发框架配置sql的方法和装置 Pending CN106020847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610392727.8A CN106020847A (zh) 2016-06-06 2016-06-06 一种持久层开发框架配置sql的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610392727.8A CN106020847A (zh) 2016-06-06 2016-06-06 一种持久层开发框架配置sql的方法和装置

Publications (1)

Publication Number Publication Date
CN106020847A true CN106020847A (zh) 2016-10-12

Family

ID=57090621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610392727.8A Pending CN106020847A (zh) 2016-06-06 2016-06-06 一种持久层开发框架配置sql的方法和装置

Country Status (1)

Country Link
CN (1) CN106020847A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121542A (zh) * 2017-11-17 2018-06-05 广东睿江云计算股份有限公司 一种基于MyBatis的SQL语句的配置方法、系统
CN109213789A (zh) * 2017-07-07 2019-01-15 北京京东尚科信息技术有限公司 一种关于业务sql的分析方法及装置
CN110362595A (zh) * 2019-07-19 2019-10-22 北京首汽智行科技有限公司 一种sql语句动态解析方法
CN111158646A (zh) * 2019-12-17 2020-05-15 广西交通设计集团有限公司 一种sql轻量化持久层框架及配置方法
CN111427632A (zh) * 2020-02-23 2020-07-17 西北师范大学 针对成瘾人员的心理测评方法及其系统框架的运行方法
CN113111239A (zh) * 2021-04-08 2021-07-13 北京联创新天科技有限公司 一种通用数据库操作方法、装置及其存储介质
CN113392122A (zh) * 2021-06-09 2021-09-14 北京同创永益科技发展有限公司 一种基于Mybatis框架分离及运行HQL的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004683A (zh) * 2007-01-31 2007-07-25 华为技术有限公司 数据库访问方法和装置
CN101158975A (zh) * 2007-11-21 2008-04-09 金蝶软件(中国)有限公司 一种访问不同类型数据库的方法和系统
CN102110110A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 基于soa的数据访问方法和装置
CN102521274A (zh) * 2011-11-24 2012-06-27 上海明想电子科技有限公司 一种基于ibatis的SQL脚本动态加载方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004683A (zh) * 2007-01-31 2007-07-25 华为技术有限公司 数据库访问方法和装置
CN101158975A (zh) * 2007-11-21 2008-04-09 金蝶软件(中国)有限公司 一种访问不同类型数据库的方法和系统
CN102110110A (zh) * 2009-12-28 2011-06-29 中国移动通信集团公司 基于soa的数据访问方法和装置
CN102521274A (zh) * 2011-11-24 2012-06-27 上海明想电子科技有限公司 一种基于ibatis的SQL脚本动态加载方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MIKESHEMA: "《Web应用漏洞侦测与防御 揭秘鲜为人知的攻击手段和防御技术》", 31 August 2014 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213789A (zh) * 2017-07-07 2019-01-15 北京京东尚科信息技术有限公司 一种关于业务sql的分析方法及装置
CN108121542A (zh) * 2017-11-17 2018-06-05 广东睿江云计算股份有限公司 一种基于MyBatis的SQL语句的配置方法、系统
CN108121542B (zh) * 2017-11-17 2021-07-06 广东睿江云计算股份有限公司 一种基于MyBatis的SQL语句的配置方法、系统
CN110362595A (zh) * 2019-07-19 2019-10-22 北京首汽智行科技有限公司 一种sql语句动态解析方法
CN111158646A (zh) * 2019-12-17 2020-05-15 广西交通设计集团有限公司 一种sql轻量化持久层框架及配置方法
CN111427632A (zh) * 2020-02-23 2020-07-17 西北师范大学 针对成瘾人员的心理测评方法及其系统框架的运行方法
CN113111239A (zh) * 2021-04-08 2021-07-13 北京联创新天科技有限公司 一种通用数据库操作方法、装置及其存储介质
CN113111239B (zh) * 2021-04-08 2024-03-29 北京联创新天科技有限公司 一种通用数据库操作方法、装置及其存储介质
CN113392122A (zh) * 2021-06-09 2021-09-14 北京同创永益科技发展有限公司 一种基于Mybatis框架分离及运行HQL的方法
CN113392122B (zh) * 2021-06-09 2022-03-11 北京同创永益科技发展有限公司 一种基于Mybatis框架分离及运行HQL的方法

Similar Documents

Publication Publication Date Title
CN106020847A (zh) 一种持久层开发框架配置sql的方法和装置
CN103853727B (zh) 提高大数据量查询性能的方法及系统
CN106503163B (zh) 基于SaaS应用的全局配置多租户动态数据源系统
US7096231B2 (en) Export engine which builds relational database directly from object model
CN109144994A (zh) 索引更新方法、系统及相关装置
US7730097B2 (en) Smart database
CN112019369A (zh) 一种微服务框架下动态配置管理方法及系统
CN107038222B (zh) 数据库缓存实现方法及其系统
CN103631868B (zh) 一种兼容关系数据库的数据管理系统
US10120886B2 (en) Database integration of originally decoupled components
US10394805B2 (en) Database management for mobile devices
CN103455540A (zh) 从数据仓库模型生成内存模型的系统和方法
EP4390717A1 (en) Metadata management method, related apparatus, device, and storage medium
CN105608126A (zh) 一种建立海量数据库二级索引的方法和装置
US20240232224A1 (en) Cross-organization & cross-cloud automated data pipelines
CN111381820A (zh) 一种基于gui自动生成api的方法及装置
CA3176758A1 (en) Method and apparatus for introducing data to a graph database
CN111240737B (zh) 一种基于Redis的动态业务参数的配置方法
US7908240B1 (en) Facilitated use of column and field data for field record universe in a knowledge store
CN114969441A (zh) 基于图数据库的知识挖掘引擎系统
CN107590199B (zh) 一种面向内存的多线程数据库设计方法
CN114443599A (zh) 数据同步方法、装置、电子设备及存储介质
CN111984660A (zh) 数据同步方法、装置、设备及存储介质
US20230237043A1 (en) Accelerating change data capture determination using row bitsets
CN115357606A (zh) 数据源查询方法、系统、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012

RJ01 Rejection of invention patent application after publication