【技术实现步骤摘要】
硬件数据库的JDBC驱动方法及装置
本专利技术涉及数据库
,尤其涉及一种硬件数据库的JDBC驱动方法及装置。
技术介绍
目前,对数据库(如MySQL、Oracle等普通数据库)的访问主要依赖主机CPU(CentralProcessingUnit,中央处理器),当数据访问量过大时,仅凭借主机CPU的计算读取数据库的数据表将会耗费大量时间。硬件数据库可以基于硬件独立计算,对普通数据库中数据表的访问任务由硬件承担和完成,而不需要主机CPU的过多参与,所以利用硬件数据库能够大大减小访问数据库时对主机CPU的依赖。访问硬件数据库的代码层次例如为C++,然而,由于Java有各式各样的框架,能实现丰富的业务逻辑,且具有良好的生态环境,所以,目前主流使用到数据库的场景多是在Java代码层次,即,使用JDBC标准接口来实现对数据库的增删查改。然而,目前的JDBC标准接口无法实现Java代码层次用户应用程序与硬件数据库的适配。
技术实现思路
有鉴于此,本专利技术实施例提供了一种硬件数据库的JDBC驱动方 ...
【技术保护点】
1.一种硬件数据库的JDBC驱动方法,其特征在于,设定语言代码层次的硬件数据库与JDBC接口连接,所述方法包括:/n根据接收的Java代码层次的SQL语句的执行类型,调用JDBC接口中Statement类的相应执行方法,将所述Java代码层次的SQL语句传递给允许Java代码与设定语言代码交互的方法;其中,设定语言与Java语言不同;/n通过所述允许Java代码与设定语言代码交互的方法将所述Java代码层次的SQL语句转换为设定语言代码层次的SQL语句并将其传入设定语言代码层次的解析器,以识别所述SQL语句的语法类型,并根据识别的语法类型返回硬件数据库所能适配的格式的语法树 ...
【技术特征摘要】
1.一种硬件数据库的JDBC驱动方法,其特征在于,设定语言代码层次的硬件数据库与JDBC接口连接,所述方法包括:
根据接收的Java代码层次的SQL语句的执行类型,调用JDBC接口中Statement类的相应执行方法,将所述Java代码层次的SQL语句传递给允许Java代码与设定语言代码交互的方法;其中,设定语言与Java语言不同;
通过所述允许Java代码与设定语言代码交互的方法将所述Java代码层次的SQL语句转换为设定语言代码层次的SQL语句并将其传入设定语言代码层次的解析器,以识别所述SQL语句的语法类型,并根据识别的语法类型返回硬件数据库所能适配的格式的语法树;
将所述语法树分发至所述硬件数据库,以根据所述语法树执行相应操作并返回设定语言代码层次的执行结果信息;
根据设定语言代码层次的执行结果信息返回Java代码层次的执行结果信息至所述JDBC接口,以输出Java代码层次的执行结果信息。
2.如权利要求1所述的硬件数据库的JDBC驱动方法,其特征在于,所述SQL语句的执行类型为修改类型或查询类型。
3.如权利要求2所述的硬件数据库的JDBC驱动方法,其特征在于,在所述SQL语句的执行类型为修改类型的情况下,所述SQL语句的语法类型包括插入行、删除行、更新行、添加表及删除表的操作中的一个或多个,所述执行结果信息包括执行状态标识;
根据接收的Java代码层次的SQL语句的执行类型,调用JDBC接口中Statement类的相应执行方法,将所述Java代码层次的SQL语句传递给允许Java代码与设定语言代码交互的方法,包括:
根据接收的Java代码层次的SQL语句的执行类型,调用JDBC接口中Statement类的executeUpdate方法,将所述Java代码层次的SQL语句传递给允许Java代码与设定语言代码交互的方法。
4.如权利要求2所述的硬件数据库的JDBC驱动方法,其特征在于,在所述SQL语句的执行类型为查询类型的情况下,所述SQL语句的语法类型包括选择操作,所述执行结果信息包括查询结果集;
根据接收的Java代码层次的SQL语句的执行类型,调用JDBC接口中Statement类的相应执行方法,将所述Java代码层次的SQL语句传递给允许Java代码与设定语言代码交互的方法,包括:
根据接收的Java代码层次的SQL语句的执行类型,调用JDBC接口中Statement类的executeQuery方法,将所述Java代码层次的SQL语句传递给允许Java代码与设定语言代码交互的方法;
根据设定语言代码层次的执行结果信息返回Java代码层次的执行结果信息至所述JDBC接口,以输出Java代码层次的执行结果信息,包括:
将设定语言代码层次的查询结果集转换为Java代码层次的查询结果集,并将所述Java代码层次的查询结果集返回至所述JDBC接口,以输出Java代码层次的执行结果信息。
5.如权利要求4所述的硬件数据库的JDBC驱动方法,其特征在于,将设定语言代码层次的查询结果集转换为Java代码层次的查询结果集,并将所述Java代码层次的查询结果集返回至所述JDBC接口,以输出Java代码层次的执行结果信息,包括:
通过按设定字节格式移动指向设定语言代码层次的查询结果集的二维数组的指针,读取设定语言代码层次的查询结果集中的字节,并根据读取的字节提取查询结果集的表框信息;其中,设定语言代码层次的查询结果集是按所述设定字节格式存储的;
根据所述表框信息中的表单元数据的类型为同种表单元数据的类型的表单元数据,建立以其表单元数据的类型为键且以包括其表单元的编号的数组作为值的键值对字典;
通过将同种表单元数据的类型的表单元数据拷贝至Java代码层次的二维数组中紧邻存储,得到Java代码层次的查询结果集;
根据键值对字典将得到的Java代码层次的查询结果集中表单元数据填充至所述JDBC接口中ResultSet类实例的相应位置,以供遍历输出Java代码层次的查询结果集中表单元中的数据。
6.如权利要求5所述的硬件数据库的JDBC驱动方法,其特征在于,通过按设定字节格式移动指向设定语言代码层次的查询结果集的二维数组的指针,读取设定语言代码层次的查询结果集中的字节之前,还包括:
通过将指针指向设定语言代码层次的查询结果集的二维数组的首部,检查设定语言代码层次的查询结果集的二维数组是否为空,若是,返回空查询标识,若否,通过按设定字节格式移动指向设定语言代码层次的查询结果集的二维数组的指针,读...
【专利技术属性】
技术研发人员:鄢贵海,易广庆,江树浩,
申请(专利权)人:中科驭数北京科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。