一种同一数据库多个版本JDBC驱动共存方法和系统技术方案

技术编号:19822451 阅读:37 留言:0更新日期:2018-12-19 14:56
本发明专利技术涉及数据访问技术领域,具体涉及一种同一数据库多个版本JDBC驱动共存方法和系统,其中方法包括:通过URLClassLoader动态加载驱动类;通过动态加载的驱动类,动态创建驱动类实例;使用DriverAdpter类封装原始的驱动类实例,并将得到的DriverAdpter类实例注册到驱动管理器;通过驱动管理器中注册的DriverAdpter类实例创建数据库的连接对象;从所述驱动管理器中注销当前的DriverAdpter类实例,以便进行下个版本驱动的动态加载。本发明专利技术对于多个不同版本驱动,分别通过不同的URLClassLoader动态加载驱动类,并进行动态注册和注销,实现了同时加载多个版本的驱动;同时使用DriverAdpter类封装驱动类实例,绕过了驱动管理器对于类加载器的限制,使不同版本之间的数据交换和集成得以方便的实现。

【技术实现步骤摘要】
一种同一数据库多个版本JDBC驱动共存方法和系统
本专利技术涉及数据访问
,具体涉及一种同一数据库多个版本JDBC驱动共存方法和系统。
技术介绍
java数据库连接(JavaDataBaseConnectivity,简写为JDBC)是Java编程语言访问数据库的规范,它提供了一套完整的、独立于任何特定数据库的编程接口,使得java程序能够编写通用的数据库操作程序,而无需绑定到每种数据库不同的编程接口。不同的数据库厂商发布数据库时会同时发布实现了JDBC接口的驱动程序,一般都是以jar包的形式提供。JDBC的工作原理可参考图1:java应用程序访问数据库时,一般需要将jar包放到java虚拟机(JavaVirtualMachine,简写为jvm)的classpath路径上,这样java应用程序启动后,java虚拟机可以自动通过classpath加载jar包中的驱动类,并将驱动类实例注册到JDBC驱动管理器(JDBCDriverManager)中。java应用程序再通过驱动管理器获取到某个特定数据库的连接对象,并通过该连接对象调用JDBC接口(JDBCDriverInter本文档来自技高网...

【技术保护点】
1.一种同一数据库多个版本JDBC驱动共存方法,其特征在于,包括:通过URLClassLoader动态加载驱动类;通过动态加载的驱动类,动态创建驱动类实例;使用DriverAdpter类封装原始的所述驱动类实例以得到DriverAdpter类实例,并将所述DriverAdpter类实例注册到驱动管理器;通过所述驱动管理器中注册的DriverAdpter类实例创建数据库的连接对象;从所述驱动管理器中注销当前的DriverAdpter类实例,以便进行下个版本驱动的动态加载;其中,对于多个不同版本的JDBC驱动,分别使用不同的URLClassLoader进行驱动类的加载,以便创建不同版本的驱动类实例...

【技术特征摘要】
1.一种同一数据库多个版本JDBC驱动共存方法,其特征在于,包括:通过URLClassLoader动态加载驱动类;通过动态加载的驱动类,动态创建驱动类实例;使用DriverAdpter类封装原始的所述驱动类实例以得到DriverAdpter类实例,并将所述DriverAdpter类实例注册到驱动管理器;通过所述驱动管理器中注册的DriverAdpter类实例创建数据库的连接对象;从所述驱动管理器中注销当前的DriverAdpter类实例,以便进行下个版本驱动的动态加载;其中,对于多个不同版本的JDBC驱动,分别使用不同的URLClassLoader进行驱动类的加载,以便创建不同版本的驱动类实例。2.根据权利要求1所述的同一数据库多个版本JDBC驱动共存方法,其特征在于,在所述从所述驱动管理器中注销当前的DriverAdpter类实例之后,所述方法还包括:通过各连接对象操作对应版本驱动下的数据库;对于完成数据库操作的对应版本,关闭并释放对应的连接对象。3.根据权利要求1所述的同一数据库多个版本JDBC驱动共存方法,其特征在于,所述通过所述驱动管理器中注册的DriverAdpter类实例创建数据库的连接对象,具体为:所述驱动管理器调用已经注册的DriverAdpter类实例的acceptsURL方法;如果acceptsURL方法返回true且通过类加载器的检查,则利用对应的DriverAdpter类实例创建数据库的连接对象。4.根据权利要求3所述的同一数据库多个版本JDBC驱动共存方法,其特征在于,所述类加载器的检查具体为:所述驱动管理器检查AppClassLoader是否能够加载到由URLClassLoader动态加载的驱动类,如果不能加载则报错;如果能加载则通过对类加载器的检查。5.根据权利要求4所述的同一数据库多个版本JDBC驱动...

【专利技术属性】
技术研发人员:梅纲付铨高东升付博文
申请(专利权)人:武汉达梦数据库有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1