接上篇,一月来抽时间写了一些,首先该系统暂时预设不考虑元数据管控,不考虑数据库数据的单条管控,只进行不同类型库中的表级别数据的处理。上次记录到,基本每种数据库都有类似于数据泵一样的数据装载器的,这种装载器的装载效率远远高于INSERT INTO语句,能够使用这种方式最好,但是也应该提供INSERT INTO这种方式做选择。
1.数据库,数据源。
首先为了保证能实现多数量数据库,多种类数据库,所以数据库的IP,密码,账号全部存表,考虑到操作这个数据库的不一定都是管理员权限,所以库资源和具体的数据资源应该区分,设定两张表,一张表存数据库的IP,端口,种类,版本,一张表存对应数据库表下的数据资源,如账号,密码,服务名称等,这样来做到一个库表关联多个资源信息,可以支持一个库下,多个账号,多个资源表。
2.支持JDBC连接时的版本不同导致的驱动包动态更换
用过JDBC的同学应该都知道,JDBC在创建连接的时候,需要使用
Class.forName(driver);
这种形式的代码来进行驱动的选择,例如像达梦数据库,需要在Class.forName();中填写“dm.jdbc.driver.DmDriver”来选择达梦数据库的驱动,但是这样就涉及到一个问题,像mysql数据库的连接。在mysql6.0以下的时候,连接驱动应该选择的是com.mysql.jdbc.Driver,但是在mysql6.0以上,需要选择com.mysq