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

这篇博客介绍了如何使用JDBC连接Oracle数据库,重点讲解了如何将Driver, Url, Username, Password等信息存入properties文件,创建DBTool工具类,并在静态代码块中加载Oracle驱动。还涵盖了getConnect方法的实现以建立连接,以及closeConnection方法用于关闭连接并处理异常。" 120802012,9530109,LeetCode 24题解析:反转链表,"['链表', '算法', 'LeetCode', '数据结构']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<span style="font-family: 'Microsoft YaHei'; background-color: rgb(255, 255, 255);">首先,将连接数据库所需的</span>

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);
			}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值