CN106020847A - 一种持久层开发框架配置sql的方法和装置 - Google Patents
一种持久层开发框架配置sql的方法和装置 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version 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的方法和装置。
背景技术
目前,数据库开发人员在编写数据库应用程序时,使用较多的开源持久层开发框架例如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对象返回所述客户端。
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)
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)
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脚本动态加载方法 |
-
2016
- 2016-06-06 CN CN201610392727.8A patent/CN106020847A/zh active Pending
Patent Citations (4)
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)
Title |
---|
MIKESHEMA: "《Web应用漏洞侦测与防御 揭秘鲜为人知的攻击手段和防御技术》", 31 August 2014 * |
Cited By (10)
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 |