zoukankan      html  css  js  c++  java
  • Java使用JDBC连接随意类型数据库(mysql oracle。。)

    package cn.liz.test;
    
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.Driver;
    import java.sql.SQLException;
    import java.util.Properties;
    
    
    
    import org.junit.Test;
    
    public class JBDCtest {
    	
    	/**
    	 * 编写一个通用的方法, 在不改动源程序的情况下, 能够获取不论什么数据库的连接
    	 * 解决方式: 把数据库驱动 Driver 实现类的全类名、url、user、password 放入一个
    	 * 配置文件里, 通过改动配置文件的方式实现和详细的数据库解耦. 
    	 * @throws Exception 
    	 */
    	
    	public  Connection getConnection() throws Exception{
    		String driverClass = null;
    		String jdbcUrl = null;
    		String user = null;
    		String password = null;
    		
    		//读取类路径下的 jdbc.properties 文件
    		InputStream in = 
    				getClass().getClassLoader().getResourceAsStream("jdbc.properties");
    		Properties properties = new Properties();
    		properties.load(in);
    		driverClass = properties.getProperty("driver");
    		jdbcUrl = properties.getProperty("jdbcUrl");
    		user = properties.getProperty("user");
    		password = properties.getProperty("password");
    		
    		//通过反射常见 Driver 对象. 
    		Driver driver = 
    				(Driver) Class.forName(driverClass).newInstance();
    		
    		Properties info = new Properties();
    		info.put("user", user);
    		info.put("password", password);
    		
    		//通过 Driver 的 connect 方法获取数据库连接. 
    		Connection connection = driver.connect(jdbcUrl, info);
    		
    		return connection;
    	}
    	@Test
    	public void testGetConnection() throws Exception{
    		System.out.println(getConnection());
    	}
    }<span style="white-space:pre">		</span>
    <span style="font-family: Arial, Helvetica, sans-serif;">jdbc.properties</span>配置文件:
    #driver=oracle.jdbc.driver.OracleDriver
    #jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
    #user=scott
    #password=java
    
    
    driver=com.mysql.jdbc.Driver
    jdbcUrl=jdbc:mysql://localhost:3306/test
    user=root
    password=
    
  • 相关阅读:
    7 重排序与happens-before
    6 Java内存模型基础知识
    5 Java线程间的通信
    Java线程的状态及主要转化方法
    《The Boost C++ Libraries》 第一章 智能指针
    python通过swig调用静态库
    使用gdb调试
    Rsync服务部署使用
    UNP学习总结(二)
    read()函数的困惑
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6710367.html
Copyright © 2011-2022 走看看