[发明专利]数据库驱动加载方法及数据库驱动加载装置在审
申请号: | 202010803137.6 | 申请日: | 2020-08-11 |
公开(公告)号: | CN111679871A | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 顾凌云;郭志攀;王伟;万凯 | 申请(专利权)人: | 上海冰鉴信息科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 匡睿 |
地址: | 200000 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 驱动 加载 方法 装置 | ||
本发明提供了一种数据库驱动加载方法及数据库驱动加载装置。在该方法中,首先获取java操作系统预先配置的JDBC驱动类的全限定类名以及驱动JAR包,其次将驱动JAR包保存到服务器用于存放JAR包的目录下,获取驱动JAR包的存放路径并将存放路径和全限定类名存入Mysql数据库中。在检测到驱动加载指令时,从Mysql数据库中读取与驱动加载指令对应的目标JDBC驱动的配置信息并确定目标JDBC驱动对应的目标存放路径和目标全限定类名,最后根据目标存放路径以及目标全限定类名注册目标JDBC驱动。如此,能够根据检测到的驱动加载指令从Mysql数据库中读取目标存放路径和目标全限定类名,从而实现对目标JDBC驱动的注册,以实现对不同版本和类型的数据库的JDBC驱动动态加载和切换。
技术领域
本发明涉及数据库管理技术领域,具体而言,涉及一种数据库驱动加载方法及数据库驱动加载装置。
背景技术
java程序在访问关系型数据库时,需要先将数据库驱动加载到内存中,再获取数据库连接。JDBC(java Data Base Connectivity)即java数据库连接,JDBC提供的API可以让java程序通过API方式访问关系型数据库并执行SQL语句,从而获取数据。然而现有的java工程在使用JDBC进行数据库连接操作时是直接引入某个数据库(如Oracle、Mysql和Hive等)的某个版本驱动,难以在java工程的运行过程中对数据库的不同版本进行切换。
发明内容
为了改善上述问题,本发明提供了一种数据库驱动加载方法及数据库驱动加载装置,能够支持动态切换不同版本的数据库驱动的加载,从而在java工程的运行过程中对数据库的不同版本进行切换。
本发明实施例的第一方面,提供了一种数据库驱动加载方法,应用于部署在java操作系统中的java虚拟机,所述java虚拟机分别与Mysql数据库以及所述java操作系统对应的服务器通信,所述方法包括:
获取JDBC驱动类的全限定类名以及所述JDBC驱动类的驱动JAR包;其中,所述JDBC驱动类的全限定类名和所述JDBC驱动类的驱动JAR包是通过所述java操作系统的后台页面配置的;
将所述驱动JAR包保存到所述服务器用于存放JAR包的目录下,并获取所述驱动JAR包的存放路径;
将所述存放路径和所述全限定类名存入所述Mysql数据库中;
在检测到驱动加载指令时,从所述Mysql数据库中读取与所述驱动加载指令对应的目标JDBC驱动的配置信息,根据所述目录从所述配置信息中确定所述目标JDBC驱动对应的目标驱动JAR包的目标存放路径以及所述目标JDBC驱动对应的目标全限定类名;
根据所述目标存放路径以及所述目标全限定类名注册所述目标JDBC驱动。
可选地,根据所述目标存放路径以及所述目标全限定类名注册所述目标JDBC驱动,包括:
根据所述目标存放路径以及所述目标全限定类名创建Driver;
基于所述Driver采用预设的DriverManager注册所述目标JDBC驱动。
可选地,根据所述目标存放路径以及所述目标全限定类名创建Driver,包括:
使用所述目标存放路径创建URL数组,并基于所述URL数组和当前线程的ContextClassLoader创建URLClassLoader;其中,当前线程为所述java虚拟机对应的当前JDBC驱动的线程;
采用所述URLClassLoader替换当前线程中的ContextClassLoader;
基于所述目标全限定类名和所述URLClassLoader创建Driver。
可选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海冰鉴信息科技有限公司,未经上海冰鉴信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010803137.6/2.html,转载请声明来源钻瓜专利网。