使用DriverManager获取数据库连接的一个有点改进

鉴于采用DriverManager获取数据库连接时,由于DriverManager实现类中生同一段落静态代码块,可以直接登记驱动,且可以管住大多单驱动程序

于是当换数据库连接时需指定不同之数据库,那么就是得反复修改properties配置文件(虽然并无费事),所以我怀念拿每种驱动连接程序的properties文件都勾好

具体当进行连续时,再加一个配备文件,这个布局文件被指定传入哪个properties文件

预先来拘禁一下文书路径(图片复制粘贴为何不好使了!!!!)

src

  com.jdbc.java

    TestJDBC.java

  properties

    jdbcName.properties

    mySql.properties

反正大体是这样了,第一叠是确保,下面是各种文件

代码如下

/**
     * 指定一个配置文件中进行选择使用哪个配置文件(好绕口。。。)
     * 
     * @return
     * @throws Exception
     */
    public Connection getConnection3() throws Exception {
        // 准备连接数据库的四个字符串
        // 驱动的全类名
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        String jdbcName = null;
        // 读取jdbcName.properties文件
        InputStream inStream = getClass().getClassLoader().getResourceAsStream("properties/jdbcName.properties");
        Properties propertiesOfName = new Properties();
        propertiesOfName.load(inStream);
        jdbcName = propertiesOfName.getProperty("jdbcName");
        // 读取需要的properties 文件
        InputStream in = getClass().getClassLoader().
                getResourceAsStream("properties/" + jdbcName + ".properties");
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");

        // 加载数据库驱动程序(注册驱动)
        Class.forName(driverClass);

        Connection connection = DriverManager.getConnection(jdbcUrl, user, password);
        return connection;
    }

测试代码如下

@Test
    public void testGetConnection3() throws Exception {
        System.out.println(getConnection3());
    }

结果如下

com.mysql.jdbc.JDBC4Connection@104a311

亟需小心的问题:这种办法指定properties文件时无能够挑相对路径,会报错

jdbcName.properties中Oracle之代码如下

jdbcName=mySql

 

这边的代码是勿是雅简单,只需要将各种什么mySql,Oracle之类的布文件写好,然后想用哪个来这个布局文件中把名字同样改就实行,改动非常小(懒人专用~)

相关文章