JDBC 获取 Oracle 数据库连接(使用 Driver)

获取数据库连接的方法:

1. Driver 接口:

Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现

在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现

2. 加载与注册JDBC 驱动:

加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名

DriverManager 类是驱动程序管理器类,负责管理驱动程序

通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例

3. 建立连接: 

可以调用 DriverManager 类的 getConnection() 方法建立到数据库的连接

JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。

JDBC URL的标准由三部分组成,各部分间用冒号分隔。

jdbc:<子协议>:<子名称>

协议:JDBC URL中的协议总是jdbc

子协议:子协议用于标识一个数据库驱动程序

子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用子名称的目的是为了定位数据库提供足够的信息

 

public Connection getConnection() throws Exception{
  String driverClass = null;
  String jdbcUrl = null;
  String user = null;
  String password = null;
  
  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());
 }

 

//  jdbc.properties 文件

driver=oracle.jdbc.driver.OracleDriver
jdbcUrl=jdbc:oracle:thin:
@localhost :1521:orcl
user=scott
password=tiger

转载于:https://my.oschina.net/u/2260265/blog/345409

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值