JDBC学习笔记(二):连接Oracle数据库(DriverManager)

首先,将连接数据库所需的

Driver,Url,Username,Password,等信息,

封装到一个properties文件中以方便调用。


新建一个操作数据库的工具类:DBTool。

在使用DriverManager管理数据库连接之前,需要加载Oracle驱动。

Class.forName("oracle.jdbc.driver.OracleDriver");

由于驱动只需加载一次,properties也只需导入一次

所以选择在静态代码块中执行加载函数。


	static{
		//静态代码块,加载DBTool时自动加载
		//读取db.properties中的参数。db.properties中封装了连接数据库的参数,故不用每次都重新输入
		Properties p = new Properties();
		try{
			p.load(DBTool.class
					.getClassLoader()
					.getResourceAsStream(                  //?
							"util/db.properties"));
			
			//获取Property中的属性。
			driver = p.getProperty("driver");
				//每次创建连接时给DriverManager使用。
			
			Class.forName(driver);
				//因为驱动只加载一次,所以可以直接加载驱动。
			
			url = p.getProperty("url");
			user = p.getProperty("user");
			pwd = p.getProperty("pwd");
			
		} catch(ClassNotFoundException e){
			e.printStackTrace();
			throw new RuntimeException("读取属性文件失败",e);
		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException("找不到驱动类",e);
		}

	}


 
  

在这里通过百度,明白了ClassLoader的用途:返回类的Class对象,再以此对象为参考路径来获取db.properties文件。

之后,再加入获取多个属性的代码。

	String url = p.getProperty("url");
	String user = p.getProperty("user");
	String pwd = p.getProperty("pwd");

准备就绪后,给此类封装一个getConnect方法,用来新建连接。

	public static Connection void getConnection() throws SQLException {   //异常最好抛出。
		return DriverManager.getConnection(url,user,pwd);
	}


再封装一个closeConnection方法,用来关闭连接,并在内部处理异常。

	public static void closeConnection(Connection con){
		if(con != null){
			try {
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException("关闭连接失败",e);
			}

你可能感兴趣的:(笔记,java)