CN113157726B - 一种数据库的处理方法及装置 - Google Patents
一种数据库的处理方法及装置 Download PDFInfo
- Publication number
- CN113157726B CN113157726B CN202110447198.8A CN202110447198A CN113157726B CN 113157726 B CN113157726 B CN 113157726B CN 202110447198 A CN202110447198 A CN 202110447198A CN 113157726 B CN113157726 B CN 113157726B
- Authority
- CN
- China
- Prior art keywords
- sql
- query language
- structured query
- type
- dsql
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 27
- 238000013515 script Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库的处理方法及装置,方法包括:接收对数据库进行操作请求;根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;执行所述结构化查询语言SQL,并返回操作结果。本发明能够给分布式集群环境的应用提供良好的数据库读写服务,同时非分布式环境也同样适用,能够提高系统读写数据库的效率,提升整个系统的吞吐率。
Description
技术领域
本发明涉及数据库处理技术领域,特别是指一种数据库的处理方法及装置。
背景技术
现有的技术包括Hibernate、Mybatis、Spring JDBC等没有实现动态SQL或者实现方式不够简单明了,使用成本较高。
现有的技术Sqltoy依赖Spring框架,异常笨重,对于不使用Spring技术的项目来说无法使用;另外,其动态SQL的实现方式是多次正则匹配,效率比较低。
目前,ORM框架有Mybatis和Hibernate,还有独具特色的Sqltoy。它们的产生让程序与数据库的交互变得简单,而几乎避免了繁琐的JDBC代码。近几年随着大数据的普及,需要在Spark等分布式集群环境下编写大量SQL代码。它们通常被写死的程序中,随着程序逻辑日益复杂,非常难管理和维护,开发效率直线下降。而因为无法反序列化等问题,现有的Mybatis、Hibernate和Sqltoy等ORM框架很难集成到Spark程序中,急需一款轻量级的ORM框架支持这种分布式集群环境。
发明内容
本发明要解决的技术问题是提供一种数据库的处理方法及装置。解决了读写效率低的问题,减少了繁琐的拼接结构化查询语言SQL操作,提高了大部分结构化查询语言SQL的可重用率,提高了开发效率,提高了系统可维护性。
为解决上述技术问题,本发明的技术方案如下:
本发明提供了一种数据库的处理方法,所述方法包括:
接收对数据库进行操作请求;
根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;
执行所述结构化查询语言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结果转换器根据预期返回类型将所述第二返回值转换为第二预设对象,并返回给数据库操作对象,由所述数据库操作对象将第二操作结果返回给调用方。
可选的,所述预设类型的操作包括动态结构化查询语言DSQL类型时,根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL;或者
调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL。
可选的,调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,获得动态结构化查询语言DSQL类型参数;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第三结构化查询语言SQL和参数列表。
本发明还提供一种数据库的处理装置,所述装置包括:
收发模块,用于接收对数据库进行操作请求;
处理模块,用于根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;执行所述结构化查询语言SQL,并返回操作结果。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过接收对数据库进行操作请求;根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;执行所述结构化查询语言SQL,并返回操作结果。本发明的实施例能够给分布式集群环境的应用提供良好的数据库读写服务,同时非分布式环境也同样适用,能够提高系统读写数据库的效率,提升整个系统的吞吐率;同时基于动态结构化查询语言DSQL,减少了繁琐的拼接结构化查询语言SQL操作,提高了大部分结构化查询语言SQL的可重用率,提高了开发效率,提高了系统可维护性;另外,还采用了智能分页技术,自动生成经过优化的分页查询结构化查询语言SQL,提高了开发效率,提高了分页查询效率。
附图说明
图1是本发明的实施例数据库的处理方法的流程示意图;
图2是本发明的实施例预设类型的操作为实体对象类型时的写操作的流程示意图;
图3是本发明的实施例预设类型的操作为实体对象类型时的读操作的流程示意图;
图4是本发明的实施例预设类型的操作为DSQL类型时的写操作的流程示意图;
图5是本发明的实施例预设类型的操作为DSQL类型时的写操作的流程示意图;
图6是本发明的实施例预设类型的操作为DSQL类型时的读操作的数据库操作结构示意图;
图7是本发明的实施例数据库的处理应用服务器的结构示意图;
图8是本发明的实施例数据库的处理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提出一种数据库的处理方法,所述方法包括:
步骤11,接收对数据库进行操作请求;
步骤12,根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;
步骤13,执行所述结构化查询语言SQL,并返回操作结果。
该实施例基于实体对象类型和/或动态结构化查询语言DSQL(DynamicStructured Query Language)实现了对数据库的处理,其中,DSQL是一种对结构化查询语言SQL的一种扩展,DSQL优选的选用特殊字符“#[]”标记动态片段,其中“#[”为动态片段的前缀,“]”则为后缀。其中,对数据库的处理包括写操作和读操作,根据预设类型的操作的不同,写操作和读操作分为实体对象类型或动态结构化查询语言DSQL类型两种情况:
进一步的,预设类型的操作包括实体对象类型时,步骤12包括:
步骤a121,调用对象类型的写操作的操作接口,将所述预设类型的操作转换为第一结构化查询语言SQL;或者
步骤a122,调用对象类型的读操作的操作接口,将所述预设类型的操作转换为第二结构化查询语言SQL。
如图2所示,步骤a121包括:
调用实体对象类型的写操作的操作接口,获得实体对象参数;
调用实体对象类型的结构化查询语言SQL转换器,将所述实体对象参数转换为第一结构化查询语言SQL和参数列表。
本实施例中进行数据写操作Write,先调用实体对象类型写操作Object Write的操作接口Dao,并获得实体对象参数;实体对象类型调用结构化查询语言SQL(StructuredQuery Language)转换器,实现将实体对象参数转换为第一结构化查询语言SQL和参数列表。
本发明一可选的实施例中,将所述实体对象参数转换为第一结构化查询语言SQL和参数列表,包括:
根据从数据源管理器(DataSource Manager)中,通过识别数据源配置或数据库连接池中的连接信息确定的数据库方言;
调用实体对象类型的结构化查询语言SQL转换器,根据所述数据库方言,将所述实体对象参数转换为所述第一结构化查询语言SQL和参数列表。
本实施例中,由于步骤a121的过程中根据数据源的不同,需要采用不同的数据库方言,数据库方言的确定可以从数据源管理器中,通过识别数据源配置或数据库连接池中的连接信息确定。
如图2所示,本发明一可选的实施例中,步骤13执行所述第一结构化查询语言SQL,并返回操作结果,包括:
调用实体对象类型的结构化查询语言SQL执行器,从数据源管理器中获取数据库连接并执行所述第一结构化查询语言SQL和参数列表;
所述结构化查询语言SQL执行器向数据库提交数据写操作命令,并获得数据库返回的第一返回值;
将所述第一返回值传递给结构化查询语言SQL结果转换器;
进一步地,所述结构化查询语言SQL结果转换器根据预期返回类型将所述第一返回值转换为第一预设对象,并返回给数据库操作对象,由所述数据库操作对象将第一操作结果返回给调用方。
本实施例中结构化查询语言SQL执行器JDBC/ODBC(Java DatabaseConnectivity,Java数据库连接;Open Database Connectivity,开放数据库互连)从数据源管理器中获取连接并获取SQL转换器中转换好的第一结构化查询语言SQL和参数列表,由SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库Database返回的第一返回值;将第一返回值传递给结构化查询语言SQL结果转换器,由SQL结果转换器根据预期返回类型将所述第一返回值转换为第一预设对象,并返回给数据库操作对象,由数据库操作对象将第一操作结果返回给调用方,实现了预设类型的操作包括实体对象类型时的写操作。
如图3所示,进一步的,预设类型的操作包括实体对象类型时,进行读操作的步骤a122包括:
步骤a1221,调用实体对象类型的读操作的操作接口,获得实体对象参数;
步骤a1222,调用实体对象类型的结构化查询语言SQL转换器,将所述实体对象参数转换为第二结构化查询语言SQL和参数列表。
本实施例中,进行数据读操作Read,先调用实体对象类型读操作Object Query的操作接口Dao,并获得实体对象参数;实体对象类型调用结构化查询语言SQL转换器,实现将实体对象参数转换为第二结构化查询语言SQL和参数列表。需要说明的是,由于步骤a122的过程中根据数据源的不同,需要采用不同的数据库方言,数据库方言的确定可以从数据源管理器中,通过识别数据源配置或数据库连接池中的连接信息确定。
如图3所示,本发明一可选的实施例中,步骤13执行所述第二结构化查询语言SQL,并返回操作结果,包括:
调用实体对象类型的结构化查询语言SQL执行器,从数据源管理器中获取数据库连接并将执行所述第二结构化查询语言SQL和参数列表;
所述结构化查询语言SQL执行器向数据库提交数据读操作命令,并获得数据库的第二返回值;
将所述第二返回值传递给结构化查询语言SQL结果转换器;
所述结构化查询语言SQL结果转换器根据预期返回类型将所述第二返回值转换为第二预设对象,并返回给数据库操作对象,由所述数据库操作对象将第二操作结果返回给调用方。
本实施例中,结构化查询语言SQL执行器JDBC/ODBC从数据源管理器中获取连接并获取SQL转换器中转换好的第二结构化查询语言SQL和参数列表,由SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库Database返回的第二返回值;将第二返回值传递给结构化查询语言SQL结果转换器,由SQL结果转换器根据预期返回类型将所述第二返回值转换为第二预设对象,并返回给数据库操作对象,由数据库操作对象将第二操作结果返回给调用方,实现了预设类型的操作包括实体对象类型时的读操作。
如图2和图3所示,通过上述的实施例,实现了预设类型的操作包括实体对象类型时的数据处理的写操作和读操作过程,提高系统读写数据库的效率,提升整个系统吞吐率。
本发明一可选的实施例中,预设类型的操作包括动态结构化查询语言DSQL类型时,步骤12包括:
步骤b121,调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL;或者
步骤b122,调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL。
本实施例中,实现了预设类型的操作包括DSQL类型时的写操作和读操作,与上述的实体对象类型不同的是,DSQL在进行实际解析时,判断实际传入参数值是否为空(null)决定是否保留该片段,使得实际执行SQL可以根据不同参数而动态改变。以此来避免程序员手动拼接繁杂的SQL,使得程序员能从繁杂的业务逻辑中解脱出来。DSQL还可以为查询参数增加过滤器和转换器,来对参数进行过滤和类型转换;同时,DSQL脚本还可以支持宏,来增强SQL的动态逻辑处理能力,避免使用函数导致索引破坏。
如图4所示,其中,预设类型的操作包括动态结构化查询语言DSQL类型时,进行写操作的步骤b121包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,获得动态结构化查询语言DSQL类型参数;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第三结构化查询语言SQL和参数列表。
本实施例中,进行数据写操作Write,调用动态结构化查询语言DSQL类型的写操作的操作接口Dao,并获得DSQL类型参数,其中,DSQL类型参数还可以包括DSQL脚本和已配置的DSQL编号;DSQL类型调用动态结构化查询语言DSQL解析器,实现将DSQL类型转换为第三结构化查询语言SQL和参数列表。
需要说明的是,将DSQL类型转换为第三结构化查询语言SQL和参数列表的解析过程包括:
DSQL解析器通过DSQL工厂(DSQL Factory)从DSQL配置中进行配置加载(ConfigLoad)查找已配置的DSQL,其中,DSQL配置包括XML(Extensible Markup Language,可扩展标记语言);
若DSQL解析器能找到已配置的DSQL,则将DSQL类型和参数列表提交至DSQL解析器解析为NamedSQL对象;
若找不到则将DSQL类型中的文本作为DSQL脚本和参数列表通过DSQL解析器解析为NamedSQL对象;
对NamedSQL对象进行进一步解析,将NamedSQL对象转换为JDBC/ODBC可执行的第三结构化查询语言SQL和参数列表,其中NamedSQL对象是一种SQL的变体,其格式为冒号“:”加上参数名作为参数的占位符标记参数,在后续步骤13中的执行第三结构化查询语言SQL的阶段再解析并替换参数,从而达到采用命名参数方式执行SQL的效果。
如图4所示,步骤13执行第三结构化查询语言SQL,并返回操作结果,包括:
调用DSQL类型的结构化查询语言SQL执行器从数据源管理器中获取连接,并获取SQL转换器中转换好的第三结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;
SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库的第三返回值传递给SQL结果转换器;
SQL结果转换器根据预期返回类型将第三返回值转换为第三预设对象,并返回给数据库操作对象,数据库操作对象将第三操作结果放回给调用方。
上述的步骤11、步骤c121以及执行第三结构化查询语言SQL的步骤13,可以实现DSQL类型的写操作,可以减少了繁琐的拼接SQL操作,提高了大部分SQL的可重用率,提高了开发效率,提高了系统可维护性。
如图5所示,当预设类型的操作为DSQL类型时,还可以实现数据处理的读操作,步骤b122具体的包括:
调用动态结构化查询语言DSQL类型的读操作的操作接口Dao,获得动态结构化查询语言DSQL类型参数,其中,DSQL类型参数还可以包括DSQL脚本和已配置的DSQL编号;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第四结构化查询语言SQL和参数列表。
其中,将DSQL类型转换为第四结构化查询语言SQL和参数列表的解析过程包括:
DSQL解析器通过DSQL工厂(DSQL Factory)从DSQL配置中进行配置加载(ConfigLoad)查找已配置的DSQL,其中,DSQL配置包括XML;
若DSQL解析器能找到已配置的DSQL,则将DSQL类型和参数列表提交至DSQL解析器解析为NamedSQL对象;
若找不到则将DSQL类型中的文本作为DSQL脚本和参数列表通过DSQL解析器解析为NamedSQL对象;
对NamedSQL对象进行进一步解析,将NamedSQL对象转换为JDBC/ODBC可执行的第三结构化查询语言SQL和参数列表,其中NamedSQL对象是一种SQL的变体,其格式为冒号“:”加上参数名作为参数的占位符标记参数,在后续步骤13中的执行第四结构化查询语言SQL的阶段再解析并替换参数,从而达到采用命名参数方式执行SQL的效果。
如图5所示,步骤13执行第四结构化查询语言SQL,并返回操作结果,包括:
判断是否需要分页查询Paging,若需要分页查询Paging,则根据第四结构化查询语言SQL和参数列表通过智能分页Smart Paging进一步解析为SQL执行器JDBC/ODBC可执行的分页查询的SQL;
调用DSQL类型的结构化查询语言SQL执行器从数据源管理器中获取连接,并获取SQL转换器中转换好的第四结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;
SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库的第四返回值传递给SQL结果转换器;
SQL结果转换器根据预期返回类型将第四返回值转换为第四预设对象,并返回给数据库操作对象,数据库操作对象将第四操作结果放回给调用方。
这里,对智能分页进行说明,智能分页查询可提供便捷的分页查询服务,实现用户无需自己拼写分页查询SQL,系统可根据查询的参数和使用的数据库类型自动生成查询总记录数的SQL及分页查询的SQL。
具体的实施例中,实现智能分页包括:
自动计数,根据实际查询的SQL自动生成统计SQL,完成对总数的统计,并结合页容量计算出总页数,其中,根据对源SQL的分析,智能决策生成的计数SQL会去除不必要的列或者排序子句(ORDER BY),且不会引入不必要的子查询,以达到最优性能;
自动分页,查询SQL的生成也不是简单得对源SQL包裹子查询,同样是按需智能决策生成。
如图6所示,这里对DSQL类型的写操作和读操作的结构图中,数据库操作结构进行说明,图6中的数据库操作结构在具体的实施例中是对外暴露的核心结构,依赖于数据源管理、DSQL解析器、数据库方言、智能分页和SQL执行器。其中,数据源管理依赖于数据库连接池;数据库方言管理依赖于数据源管理;DSQL解析器依赖于配置管理。
如图4至6所示,通过上述的实施例,实现了预设类型的操作包括DSQL类型时的数据处理的写操作和读操作过程,减少了繁琐的拼接SQL操作,提高了大部分SQL的可重用率,提高系统读写数据库的效率,提升整个系统吞吐率。
一个具体的实施例中,当预设类型的操作是实体对象类型和/或DSQL类型时,进行写操作Write和读操作Read,写操作具体的包括插入数据以及删除数据,读操作包括查询数据;包括:
使用实体对象类型向数据库插入数据;
使用实体对象类型更新数据库中的数据,可根据需要确定软更新的字段;
使用实体对象类型保存数据(根据主键判断数据已存在则更新,数据不存在则插入),可根据需要确定软更新的字段;
使用实体对象类型删除数据;
使用实体对象类型查询数据;
使用配置文件管理DSQL类型;
使用DSQL类型查询数据;
执行DSQL类型操作数据。
其中,使用实体对象类型插入数据具体的包括:解析实体对象类型所对应的类所对应的数据表,以及各属性所对应的字段名;生成SQL执行器JDBC/ODBC可执行的结构化查询语言SQL和参数列表;数据源管理器根据数据源配置从缓存或数据库连接池中获取连接;使用获取到的连接,将结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;SQL执行器JDBC/ODBC将SQL提交给数据库执行,并返回执行结果;
使用实体对象类型更新数据库中的数据包括:根据需要确定软更新的字段进行软更新,需要说明的时,软更新是指当对象的属性为null时,不更新该属性所对应的数据表字段;
使用实体对象类型保存数据包括:生成SQL执行器JDBC/ODBC可执行的结构化查询语言SQL和参数列表时,生成的SQL是根据不同数据库实现不同的合并数据的SQL,该合并数据的SQL的作用是,当特定主键的数据记录已存在则执行更新操作,当它不存在则执行插入操作;
使用实体对象类型删除数据包括:解析实体对象类型对应的类所对应的数据表,以及主键属性所对应的主键字段名;生成SQL执行器JDBC/ODBC可执行的根据主键删除数据的结构化查询语言SQL和主键参数列表;数据源管理器根据数据源配置从缓存或数据库连接池中获取连接;使用获取到的连接,将结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;SQL执行器JDBC/ODBC将SQL提交给数据库执行,并返回执行结果;
使用实体对象类型查询数据包括:解析实体对象类型对应的类所对应的数据表,以及各非null属性所对应的字段名;生成SQL执行器JDBC/ODBC可执行的根据非null字段作为等值查询条件的结构化查询语言SQL和参数列表;数据源管理器根据数据源配置从缓存或数据库连接池中获取连接;使用获取到的连接,将结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;SQL执行器JDBC/ODBC将SQL提交给数据库执行,并返回执行结果;这里的DSQL是一种对结构化查询语言(SQL)的一种扩展,能够实现根据不同条件实现执行SQL的不同,从而提高SQL的重用率,简化程序开发,提高效率;
使用配置文件管理DSQL类型包括:使用XML等配置文件描述DSQL类型,并通过全局唯一编号标识;DSQL工厂扫描配置文件,并根据不同的配置文件使用不同的配置加载器,实现配置内容的加载并缓存在内存中;当执行DSQL类型时,将提交的文本作为DSQL类型的全局唯一编号从缓存中读取DSQL,如果找到则将DSQL连同参数提交解析执行,找不到则将文本作为DSQL脚本连同参数解析执行;
使用DSQL类型查询数据包括:调用方提交特定文本作为DSQL,DSQL管理模块从缓存中读取DSQL,如果找到则将DSQL连同参数提交解析为NamedSQL对象,找不到则将文本作为DSQL脚本连同参数解析为NamedSQL对象;其中,如果非分页查询,则将NamedSQL提交给SQL执行器JDBC/ODBC执行;如果是分页查询,则通过智能分页技术将NamedSQL对象进一步解析为分页查询的相关SQL并提交给SQL执行器JDBC/ODBC执行;收集并转换SQL执行器JDBC/ODBC的执行结果,并根据预期返回类型将结果封装成特定对象返回给调用方;需要说明的时,智能分页技术是一种对查询SQL的自动封装技术,可以自动将普通查询的SQL封装成经过优化的统计总记录数的SQL和经过优化的特定分页查询SQL。
执行DSQL类型操作数据与上述使用DSQL类型查询数据相似,不同的是执行DSQL类型的操作数据的返回值是一个标识是否成功的布尔值或者受影响的行数又或者是没有返回值。
如图7所示,本发明还提供一种数据库的处理系统,包括:
客户端Client,用于向应用服务器提交请求;
应用服务器Application Server(Cluster),用于对数据库服务器发起数据读写请求;
数据库服务器Database Server(Cluster),用于将执行结果返回应用服务器;
应用服务器对数据进行转换并返回给客户端或者回写到数据库服务器。
其中,客户端是可缺省的,在具体的实施例中,可以存在没有客户端访问的应用服务器。
本发明还提供一种数据库的处理装置80,所述装置包括:
收发模块81,用于接收对数据库进行操作请求;
处理模块82,用于根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;执行所述结构化查询语言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结果转换器根据预期返回类型将所述第二返回值转换为第二预设对象,并返回给数据库操作对象,由所述数据库操作对象将第二操作结果返回给调用方。
可选的,所述预设类型的操作包括动态结构化查询语言DSQL类型时,根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL;或者
调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL。
可选的,调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,获得动态结构化查询语言DSQL类型参数;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第三结构化查询语言SQL和参数列表。
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。该装置80中的收发装置81也可以用于处理数据,处理装置82也可以用于收发数据,并不局限于该装置80中所起到的作用。
本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上所述的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种数据库的处理方法,其特征在于,所述方法包括:
接收对数据库进行操作请求;
根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;
执行所述结构化查询语言SQL,并返回操作结果;
其中,所述预设类型的操作包括动态结构化查询语言DSQL类型时,根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL;或者
调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL;
其中,调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,获得动态结构化查询语言DSQL类型参数;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第三结构化查询语言SQL和参数列表;
其中,调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的读操作的操作接口,获得动态结构化查询语言DSQL类型参数,其中,DSQL类型参数还包括DSQL脚本和已配置的DSQL编号;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第四结构化查询语言SQL和参数列表;
其中,执行第三结构化查询语言SQL,并返回操作结果,包括:
调用DSQL类型的结构化查询语言SQL执行器从数据源管理器中获取连接,并获取SQL转换器中转换好的第三结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;
SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库的第三返回值传递给SQL结果转换器;
SQL结果转换器根据预期返回类型将第三返回值转换为第三预设对象,并返回给数据库操作对象,数据库操作对象将第三操作结果放回给调用方;
其中,执行第四结构化查询语言SQL,并返回操作结果,包括:
判断是否需要分页查询Paging,若需要分页查询Paging,则根据第四结构化查询语言SQL和参数列表通过智能分页Smart Paging进一步解析为SQL执行器JDBC/ODBC可执行的分页查询的SQL;
调用DSQL类型的结构化查询语言SQL执行器从数据源管理器中获取连接,并获取SQL转换器中转换好的第四结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;
SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库的第四返回值传递给SQL结果转换器;
SQL结果转换器根据预期返回类型将第四返回值转换为第四预设对象,并返回给数据库操作对象,数据库操作对象将第四操作结果放回给调用方。
2.根据权利要求1所述的数据库的处理方法,其特征在于,所述预设类型的操作包括实体对象类型时,根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,包括:
调用对象类型的写操作的操作接口,将所述预设类型的操作转换为第一结构化查询语言SQL;或者
调用对象类型的读操作的操作接口,将所述预设类型的操作转换为第二结构化查询语言SQL。
3.根据权利要求2所述的数据库的处理方法,其特征在于,调用对象类型的写操作的操作接口,将所述预设类型的操作转换为第一结构化查询语言SQL,包括:
调用实体对象类型的写操作的操作接口,获得实体对象参数;
调用实体对象类型的结构化查询语言SQL转换器,将所述实体对象参数转换为第一结构化查询语言SQL和参数列表。
4.根据权利要求3所述的数据库的处理方法,其特征在于,将所述实体对象参数转换为第一结构化查询语言SQL和参数列表,包括:
根据从数据源管理器中,通过识别数据源配置或数据库连接池中的连接信息确定的数据库方言;
调用实体对象类型的结构化查询语言SQL转换器,根据所述数据库方言,将所述实体对象参数转换为所述第一结构化查询语言SQL和参数列表。
5.根据权利要求4所述的数据库的处理方法,其特征在于,执行所述第一结构化查询语言SQL,并返回操作结果,包括:
调用实体对象类型的结构化查询语言SQL执行器,从数据源管理器中获取数据库连接并执行所述第一结构化查询语言SQL和参数列表;
所述结构化查询语言SQL执行器向数据库提交数据写操作命令,并获得数据库返回的第一返回值;
将所述第一返回值传递给结构化查询语言SQL结果转换器;
所述结构化查询语言SQL结果转换器根据预期返回类型将所述第一返回值转换为第一预设对象,并返回给数据库操作对象,由所述数据库操作对象将第一操作结果返回给调用方。
6.根据权利要求2所述的数据库的处理方法,其特征在于,调用对象类型的读操作的操作接口,将所述预设类型的操作转换为第二结构化查询语言SQL,包括:
调用实体对象类型的读操作的操作接口,获得实体对象参数;
调用实体对象类型的结构化查询语言SQL转换器,将所述实体对象参数转换为第二结构化查询语言SQL和参数列表。
7.根据权利要求6所述的数据库的处理方法,其特征在于,执行所述第二结构化查询语言SQL,并返回操作结果,包括:
调用实体对象类型的结构化查询语言SQL执行器,从数据源管理器中获取数据库连接并将执行所述第二结构化查询语言SQL和参数列表;
所述结构化查询语言SQL执行器向数据库提交数据读操作命令,并获得数据库的第二返回值;
将所述第二返回值传递给结构化查询语言SQL结果转换器;
所述结构化查询语言SQL结果转换器根据预期返回类型将所述第二返回值转换为第二预设对象,并返回给数据库操作对象,由所述数据库操作对象将第二操作结果返回给调用方。
8.一种数据库的处理装置,其特征在于,所述装置包括:
收发模块,用于接收对数据库进行操作请求;
处理模块,用于根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,所述预设类型的操作包括实体对象类型和/或动态结构化查询语言DSQL类型;执行所述结构化查询语言SQL,并返回操作结果;
其中,所述预设类型的操作包括动态结构化查询语言DSQL类型时,根据所述操作请求,将预设类型的操作转换为结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL;或者
调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL;
其中,调用动态结构化查询语言DSQL类型的写操作的操作接口,将所述预设类型的操作转换为第三结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的写操作的操作接口,获得动态结构化查询语言DSQL类型参数;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第三结构化查询语言SQL和参数列表;
其中,调用动态结构化查询语言DSQL类型的读操作的操作接口,将所述预设类型的操作转换为第四结构化查询语言SQL,包括:
调用动态结构化查询语言DSQL类型的读操作的操作接口,获得动态结构化查询语言DSQL类型参数,其中,DSQL类型参数还包括DSQL脚本和已配置的DSQL编号;
调用动态结构化查询语言DSQL类型的动态结构化查询语言DSQL解析器,将所述动态结构化查询语言DSQL类型参数解析为第四结构化查询语言SQL和参数列表;
其中,执行第三结构化查询语言SQL,并返回操作结果,包括:
调用DSQL类型的结构化查询语言SQL执行器从数据源管理器中获取连接,并获取SQL转换器中转换好的第三结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;
SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库的第三返回值传递给SQL结果转换器;
SQL结果转换器根据预期返回类型将第三返回值转换为第三预设对象,并返回给数据库操作对象,数据库操作对象将第三操作结果放回给调用方;
其中,执行第四结构化查询语言SQL,并返回操作结果,包括:
判断是否需要分页查询Paging,若需要分页查询Paging,则根据第四结构化查询语言SQL和参数列表通过智能分页Smart Paging进一步解析为SQL执行器JDBC/ODBC可执行的分页查询的SQL;
调用DSQL类型的结构化查询语言SQL执行器从数据源管理器中获取连接,并获取SQL转换器中转换好的第四结构化查询语言SQL和参数列表提交给SQL执行器JDBC/ODBC执行;
SQL执行器JDBC/ODBC向数据库Database提交数据操作命令,并获得数据库的第四返回值传递给SQL结果转换器;
SQL结果转换器根据预期返回类型将第四返回值转换为第四预设对象,并返回给数据库操作对象,数据库操作对象将第四操作结果放回给调用方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110447198.8A CN113157726B (zh) | 2021-04-25 | 2021-04-25 | 一种数据库的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110447198.8A CN113157726B (zh) | 2021-04-25 | 2021-04-25 | 一种数据库的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157726A CN113157726A (zh) | 2021-07-23 |
CN113157726B true CN113157726B (zh) | 2024-05-03 |
Family
ID=76870282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110447198.8A Active CN113157726B (zh) | 2021-04-25 | 2021-04-25 | 一种数据库的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157726B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870555A (zh) * | 2014-03-04 | 2014-06-18 | 赛特斯信息科技股份有限公司 | Spring data JPA实现动态查询的方法 |
CN108334620A (zh) * | 2018-02-08 | 2018-07-27 | 苏州蜗牛数字科技股份有限公司 | 一种基于orm框架操作集群数据库的方法及装置 |
CN111984669A (zh) * | 2020-07-08 | 2020-11-24 | 福建亿能达信息技术股份有限公司 | 一种支持动态变量的函数式sql查询方法、装置、设备和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10776349B2 (en) * | 2017-01-31 | 2020-09-15 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing dynamic macros within a multi-tenant aware structured query language |
-
2021
- 2021-04-25 CN CN202110447198.8A patent/CN113157726B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870555A (zh) * | 2014-03-04 | 2014-06-18 | 赛特斯信息科技股份有限公司 | Spring data JPA实现动态查询的方法 |
CN108334620A (zh) * | 2018-02-08 | 2018-07-27 | 苏州蜗牛数字科技股份有限公司 | 一种基于orm框架操作集群数据库的方法及装置 |
CN111984669A (zh) * | 2020-07-08 | 2020-11-24 | 福建亿能达信息技术股份有限公司 | 一种支持动态变量的函数式sql查询方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113157726A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752213B2 (en) | Flexible access of data stored in a database | |
CN111488143A (zh) | 一种基于Springboot2代码自动生成装置和方法 | |
US20140136515A1 (en) | Method and system for managing database | |
CN111259067B (zh) | 一种基于Spring实现DAO接口的方法、装置及设备 | |
JP2011013989A (ja) | 情報統合装置、情報統合方法および情報統合プログラム | |
US20180365294A1 (en) | Artificial intelligence driven declarative analytic platform technology | |
CN111752959A (zh) | 一种实时数据库跨库sql交互方法和系统 | |
CN112579610A (zh) | 多数据源结构分析方法、系统、终端设备及存储介质 | |
CN114356971A (zh) | 数据处理方法、装置以及系统 | |
CN116578585B (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN111694846B (zh) | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 | |
CN113157726B (zh) | 一种数据库的处理方法及装置 | |
CN110008448B (zh) | 将SQL代码自动转换为Java代码的方法和装置 | |
CN109726213B (zh) | 一种程序代码转换方法、装置、介质和计算设备 | |
CN115827676A (zh) | Sql子查询的执行方法、装置、终端设备以及介质 | |
US20090287638A1 (en) | Autonomic system-wide sql query performance advisor | |
CN116049193A (zh) | 数据存储方法及装置 | |
CN115310127A (zh) | 一种数据脱敏方法及装置 | |
CN114461454A (zh) | 数据恢复方法、装置、存储介质及电子设备 | |
CN113448942B (zh) | 数据库访问方法、装置、设备及存储介质 | |
CN114281842A (zh) | 一种数据库分表查询的方法及设备 | |
CN115952203B (zh) | 数据查询方法、设备、系统及存储介质 | |
US7685107B2 (en) | Apparatus, system, and method for scanning a partitioned data set | |
CN116578655B (zh) | 一种数据传输系统及其控制方法 | |
CN116756184B (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |