首页 > 代码库 > 使用DriverManager获取数据库连接的一个小改进
使用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中的代码如下
jdbcName=mySql
这里的代码是不是非常简洁,只需把各种什么mySql,Oracle之类的配置文件写好,然后想用哪个来这个配置文件中把名字一改就行,改动非常小(懒人专用~)
使用DriverManager获取数据库连接的一个小改进
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。